我想知道如何从 const boost::multi_array 对象中读取元素。 事实上,据我所知,我不能使用运算符 [],因为它也用于赋值。
我有一个三维数组。那么当 myArray 为常量时,如何获取元素 myArray[i][j][k]。
提前致谢。
最佳答案
作为 juanchopanza's 的替代品回答您还可以通过从 boost::array 构建的索引数组访问元素。
typedef boost::multi_array<double,3>::index tIndex;
typedef boost::array<tIndex, 3> tIndexArray;
tIndexArray index = {{ 1,2,3 }};
const double x = myArray( index );
会给你元素 myArray[1][2][3]
。如果您正在编写与维度无关的代码,则此表示法可能比显式使用 [] 运算符更有用。
关于c++ - 如何从 const boost::multi_array 获取特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9837261/