boost :: multi_array包含不同大小的方形boost :: ublas :: matrix <double> </double>

时间:2011-12-16 19:07:30

标签: c++ boost

我想知道为什么这样有效,如果风险确实存在......

我希望boost :: multi_array的元素能够保存不同大小的boost :: ublas矩阵(在运行时定义的大小)。

在标题中,我定义了typedef::boost::ublas::matrix<double> Matrix;typedef::boost::multi_array<Matrix,1> Tensor;

现在在main(){}我做了一个Tensor tensor(boost::extents[some_number]);然后“分配了内存”:

for(int i=0; i<some_number; i++){
    tensor[i] = Matrix(runtime_defined_number, runtime_defined_number);
}

现在我将Tensor &tensor传递给我的函数并用它做些事情......

这是疯了吗?如果是这样,为什么会这样?做这样的事情有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

实际上,您可以创建一个矩阵向量,因为您只使用一维数组。这里没有必要使用boost :: multi_array。