【发布时间】:2013-10-22 13:27:15
【问题描述】:
我正在查看来自 boost 的多维数组库,但我无法找到一种方法来在头文件中声明具有未定义形状的 multi_array 成员,例如“A”下面的例子:
Class.h
std::size_t nX;
std::size_t nY;
std::size_t nZ;
boost::multi_array<double, 3> A;
稍后在源文件中实例化为一定大小:
Class.c++
nX = 3
nY = 4
nZ = 2
A = boost::multi_array<double, 3>(boost::extents[nX][nY][nZ]);
但这给了我一个不等的形状错误。有什么办法可以做我正在尝试的事情吗?
最终,我需要一个成员容器来存储待定大小的三维数据。这适用于 boost::numeric::ublas::matrix 的二维没有问题,但现在我需要一些适用于三个维度的东西。
谁能告诉我如何/是否可以使用 multi_array 类,或者告诉我另一个可以代替的库?
【问题讨论】:
标签: c++ dynamic boost multidimensional-array