我想知道为什么这样有效,如果风险确实存在......
我希望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
传递给我的函数并用它做些事情......
答案 0 :(得分:0)
实际上,您可以创建一个矩阵向量,因为您只使用一维数组。这里没有必要使用boost :: multi_array。