c++ - 如何从 const boost::multi_array 获取特定元素

标签 c++ boost multidimensional-array boost-multi-array

我想知道如何从 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/

相关文章:

c++ - Boost Threads 生产者/消费者意外行为

php - 如何用键和值分解多维数组

c - 为什么这段代码会打印同样的内容 5 次?

arrays - 对分布在多个文件中的 "slices"多个向量进行排序

c++ - 使用数据流将 char 复制到 QbyteArray 包含一些额外的字节

c++ - cryptlib cryptSignCert 失败

c++ - time_t boost 日期转换给出不正确的结果

c++ - 字长频率,程序只打开cmd,什么都不做,C++

c++ - 如何编辑和重新构建 GCC libstdc++ C++ 标准库源代码?

c++ - const boost::shared_ptr<T>& 作为函数参数的目的?