gpt4 book ai didi

c++ - 指定boost::multi_array中所有数组的长度

转载 作者:行者123 更新时间:2023-11-30 05:12:05 25 4
gpt4 key购买 nike

我有一个可能很愚蠢的问题,但我正在尝试使用 boost::multi_array 定义一个 8x3 数组(每行是一个单元格的 3 个 xyz 索引的数组,总共有 8 个单元格)。我的问题是,有没有比像这样输入 [DIM] 8 次更短/更简单的方法:

static const int DIM = 3;
static const int CELL = 8;
boost::multi_array<double, CELL> ii(boost::extents[DIM][DIM][DIM][DIM][DIM][DIM][DIM][DIM]);

声明我的数组?非常感谢!

最佳答案

boost::extents 只是一个生成器,您可以使用任何兼容的 ExtentList 模型来代替 ¹:

boost::array<size_t, 8> dims;
std::fill(dims.begin(), dims.end(), DIM);

可以想象,您可以编写自己的模型,不需要每个维度的后备存储。

¹ 请参阅 http://www.boost.org/doc/libs/1_63_0/libs/utility/Collection.html

关于c++ - 指定boost::multi_array中所有数组的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44717742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com