我需要使用boost多维数组的帮助。我必须构造的二维阵列,其中:(0 < = j的< = 1)和(i)的增长动态地根据:如何使用(Boost Multidimensional Array Library)构造动态二维数组?
long boostArray[i][j];
因此,这就像构造(未知)列和两行的表。
我已经开始与Boost库网站提供的例子:
#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调整大小后矢量。