与使用 std::vector 创建多数组相比,boost 中的MultiArray有很多优点。但是,我对 BOOST 中的 MultiArray 感到不舒服的一件事是,创建一个可以轻松更改其大小的多数组并不容易。我有以下代码来说明我的观点:
vector<vector<int> > my_2d_array;
vector<int> temp;
temp.push_back(3);
temp.push_back(4);
my_2d_array.push_back(temp);
temp.clear;
temp.push_back(4);
temp.push_back(5);
my_2d_array.push_back(temp);
temp.clear;
temp.push_back(41);
temp.push_back(51);
my_2d_array.push_back(temp);
从上面的代码中我们可以看出,使用vector<vector<int> >
数据结构,我们可以很容易地增加多数组的维数。但是使用 boost::multi_array,你必须在使用boost::extents
之前确定多数组的维度。我想知道 boost::multi_array 是否也有一种简单的方法来增加它的维度,就像vector<vector<int> >
上面代码中所做的那样。