c++ - 三维数组作为数组的 vector

标签 c++

我有一个 3 维 double 组,其中两个维度在编译时已知。 所以为了提高效率,我想写一些像

std::vector<double[7][19]> v;
v.resize(3);
v[2][6][18] = 2 * 7*19 + 6 * 19 + 18;

除了因为“v.resize(3);”而无法编译外,它是完美的 请不要推荐我使用像

这样的嵌套 vector
std::vector<std::vector<std::vector<double>>> v;

因为我不想每次将 v 扩展其第一个维度时都为已知维度设置大小。

这里最干净的解决方案是什么?

最佳答案

为什么不是 std::vectorstd::array std::arraydouble?

std::vector<std::array<std::array<double, 19>, 7>> v;

关于c++ - 三维数组作为数组的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22254127/

相关文章:

c++ - C++ 类中动态位集的声明和赋值

c++ - 数组转换指导

c++ - 结构是 "reset"

C++ 继承 - 引用类型的无效初始化

c++ - 根据表格拆分 vector

c++ - 视频窗口无响应,窗口模式,DirectShow

不使用 IEEE754 float 的 C++ 编译器/平台

c++ - 为什么我的循环范围不会改变元素?

c++ - Release模式下的断点和调试

c++ - <vector> 在不同位置读/写是线程安全的吗?