는 부스트 예입니다랜덤 액세스보기 :: 다음 multi_array
이 코드는 원래 배열 상에 부분 배열 또는 뷰 매핑을 만드는 무엇typedef boost::multi_array<double, 1> array_type;
typedef array_type::index index;
array_type A(boost::extents[100]);
for(index i = 0; i != A.size(); ++i) {
A[i] = (double)i;
}
// creating view
array_type::index_gen indices;
typedef boost::multi_array_types::index_range range;
array_type::array_view<1>::type myview = A[ indices[range(0,50)] ];
. 이보기는 연속적이며 원본 배열의 0 번째부터 50 번째까지를 포함합니다.
보기에 표시하고 싶은 요소를 명시 적으로 정의해야하는 경우 어떻게해야합니까? 어떻게 [1, 5, 35, 23]과 같은 인덱스를 가진 뷰를 생성 할 수 있습니까? 어떤 아이디어?
1 차원의 다중 배열에 제약이 있습니까? –
단순한 예제를 사용하여 개념적 사안을 논의하는 것이 훨씬 쉽습니다. 1 dimension that for good) boost :: vector 나 boost :: array에서 view-approach 같은 것이 있습니까? –