A std::array<T>本质上是一个包裹在一个C风格的数组struct.structs 的初始化需要大括号,并且数组的初始化也需要大括号.所以我需要两对括号:
std::array<int, 5> a = {{1, 2, 3, 4, 5}};
Run Code Online (Sandbox Code Playgroud)
但是我见过的大多数示例代码只使用了一对大括号:
std::array<int, 5> b = {1, 2, 3, 4, 5};
Run Code Online (Sandbox Code Playgroud)
为什么这是允许的,与第一个approch相比,它有任何好处或缺点吗?