ブースト多次元配列の使用について助けが必要です。(0 <= j <= 1) および (i) に従って動的に成長する 2 次元配列を作成する必要があります。
long boostArray[i][j];
したがって、(不明な) 列と 2 行のテーブルを作成するようなものです。
Boost Library Web サイトで提供されている例から始めました。
#include "boost/multi_array.hpp"
#include <cassert>
int main () {
// 3 x 4 x 2
typedef boost::multi_array<double, 3> array_type;
typedef array_type::index index;
array_type A(boost::extents[3][4][2]);
int values = 0;
for(index i = 0; i != 3; ++i)
for(index j = 0; j != 4; ++j)
for(index k = 0; k != 2; ++k)
A[i][j][k] = values++;
int verify = 0;
for(index i = 0; i != 3; ++i)
for(index j = 0; j != 4; ++j)
for(index k = 0; k != 2; ++k)
assert(A[i][j][k] == verify++);
return 0;
}
問題は、その構造を微調整して目的の配列を構築するために、上記のコードを完全に理解していなかったことです。特に上記のようにこの配列が動的に成長する場合、Boost Library を使用しているときに、配列に要素を追加/配列から要素を削除する方法が正確にわかりません。
たとえば、ベクターを扱う場合、ベクターのサイズを変更した後にpush_backとpop_backを使用する傾向があります。