我有以下代码:嵌套初始化列表不构成嵌套数组作为我期望
#include <iostream>
#include <vector>
#include <array>
using namespace std;
int main()
{
std::vector<std::array<std::array<double, 3>, 2>> arr =
{
{
{2, 1, 0},
{1, 1, 0}
}
};
cout << "Array size " << arr.size() << endl;
}
我期望这个返回尺寸1的载体,含有该2D阵列看起来像这样:
[
[[2, 1, 0], [1, 1, 0]]
]
然而它返回大小两个的矢量,其中两个阵列看起来像这样:
[
[[2, 1, 0], [0, 0, 0]],
[[1, 1, 0], [0, 0, 0]]
]
在我看来,它应该能够构造两个内部大小的3个数组,然后使用它来构造单个大小的2个数组,将其放入向量中。
我很困惑。任何帮助解释为什么这不像我预期的那样表现会很好。
在Visual Studio在线编译器和Clang中进行了测试。
我也非常不确定如何最好地提出问题,如果有人觉得他们有更多的技术方式来说话,请改变它! – sji