我读过一些关于C++11初始化列表、统一初始化以及其他内容的文章。但我还是对他们的不同感到困惑。请检查下面的内容以及它们之间的区别。谢谢!
std::vector<int> a1({1, 2, 3, 4});
// this is initialize list a object, then copy-constructor?
std::vector<int> a2{1, 2, 3, 4};
// this is initialize list
std::vector<int> a2{{1, 2, 3, 4}};
// what is this?发布于 2014-05-27 16:15:21
std::vector<int> a1({1, 2, 3, 4});
std::vector<int> a2{1, 2, 3, 4};
std::vector<int> a2{{1, 2, 3, 4}};这三行都做了相同的事情:
编译器创建一个std::initializer_list<int>,然后将其传递给std::vector<int>的构造函数,该构造函数接受std::initializer_list<int>。
https://stackoverflow.com/questions/23862081
复制相似问题