std :: vector是否有{Initial Number of elements}构造函数?

时间:2016-07-29 13:56:30

标签: c++ c++11 vector

cplusplus reference,Perhabs 没有{初始元素数}构造函数。 示例如下所示。

vector<string> svec { 5 }; 
cout << svec.capacity() << endl; // log is 5

但是,有explicit vector (size_type n);个构造函数。在这种情况下,这不是{ }大括号。这句话怎么了?

1 个答案:

答案 0 :(得分:0)

  

但是,有明确的向量(size_type n);构造函数。在这种情况下,这不是{}大括号。这句话怎么了?

统一初始化语法意味着,这两者基本相同:

SomeType objectName(constructor_args);
SomeType objectName{constructor_args};

在某些情况下,也可以使用大括号来填充初始化列表,但这不是这种情况。

您确实正在调用第二个构造函数,该构造函数指定了向量应该以元素数开头的元素数。

C ++初始化非常复杂,所以我在这里不再详细介绍,但是请您对所有各种初始化语法进行一些相关的阅读。你的C ++书应该涵盖它们。