gpt4 book ai didi

c++ - boost 多数组维度

转载 作者:可可西里 更新时间:2023-11-01 15:08:02 24 4
gpt4 key购买 nike

我有一个 Boost 多数组,其维度是在运行时根据用户的输入设置的。

我现在想通过 x,y,z 组件遍历该数组。

如果这是一个 std::vector,我会使用:

for(int i=0;i<v.size();i++){

或者可能是某种迭代器。

如何获取多数组维度的数值?

如何遍历多数组?

谢谢!

最佳答案

您可以使用 shape() 以一种不那么复杂的方式:

#include <iostream>
#include <string>
#include <boost/multi_array.hpp>

int main() {
boost::multi_array<std::string, 2> a(boost::extents[3][5]);
for(size_t x = 0; x < a.shape()[0]; x++) {
for(size_t y = 0; y < a.shape()[1]; y++) {
std::ostringstream sstr;
sstr << "[" << x << ", " << y << "]";
a[x][y] = sstr.str();
}
}
for(size_t x = 0; x < a.shape()[0]; x++) {
for(size_t y = 0; y < a.shape()[1]; y++) {
std::cout << a[x][y] << "\n";
}
}
return 0;
}

(查看实际效果 on coliru)

关于c++ - boost 多数组维度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9314590/

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