我想知道一种简单的方法来查找 boost 多数组的最大/最小元素,一个具有 3 个索引的对象,如下所示:
int iDepth=10,iWidth=10,iHeight=10;
boost::multi_array<GLfloat, 3> image(boost::extents[iDepth][iWidth][iHeight]);
我想知道一种简单的方法来查找 boost 多数组的最大/最小元素,一个具有 3 个索引的对象,如下所示:
int iDepth=10,iWidth=10,iHeight=10;
boost::multi_array<GLfloat, 3> image(boost::extents[iDepth][iWidth][iHeight]);
这应该工作:
std::max_element( image.origin(), image.origin() + image.num_elements());
使用 memberdata()
更正确,因为:
image
实际上是一个连续的(紧凑数组)。[0][0]...
. (origin()
表示[0][0]...
即使数组“开始”在不同点的地址,例如[1][1]...
.std::max_element( image.data(), image.data() + image.num_elements());
您是否尝试过类似的方法:
std::max_element( image.begin(), image.end());