旧的 c 风格的静态数组在作为参数传递或作为值返回时会非常麻烦。为此,新的 std::array 非常方便。
但是对于多数组, std:: 中没有任何内容,并且 boost::multi_array 不仅仅是静态分配的。
当然,我可以说,
std::array<std::array<int,3>,2> my_array;
但我发现有点长,它对应于倒置的内置声明
int my_array[2][3];
我只是想知道是否已经有一些“库”编码这样一个概念(二维或任意维)
(对于后者,如果我是正确的,必须使用一些可变参数模板来输入例如
multi_array<int,3,4> A;
multi_array<int,3,5,8> B;
multi_array<int,4,7,8,9,8,3> C; //this one being quite rare though
)
编辑:对第一篇文章感到抱歉,我没有测试