gpt4 book ai didi

c++ - 为什么 std::array 不包含初始化列表构造函数

转载 作者:可可西里 更新时间:2023-11-01 18:35:30 25 4
gpt4 key购买 nike

<分区>

为了初始化一个std::array对于某些值,您需要使用这种方法:

std::array<int,3> an_array{{3,4,5}};

我知道我们需要两个大括号的原因(一个用于 std::array,另一个用于内部 c-style array)。

我的问题:为什么,按照标准,std::array不包含直接初始化内部 c-style array 的初始化列表构造函数?初始化为:

std::array<int,3> an_array{3,4,5};

编辑:

此信息来自http://en.cppreference.com/w/cpp/container/array .我以为我的编译器允许第二个版本直接作为非标准扩展。现在,我什至不确定这个案例的标准是什么。

// construction uses aggregate initialization

std::array<int, 3> a1{ {1, 2, 3} }; // double-braces required in C++11 (not in C++14)

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