在cplusplus reference,Perhabs 没有{初始元素数}构造函数。 示例如下所示。
vector<string> svec { 5 };
cout << svec.capacity() << endl; // log is 5
但是,有explicit vector (size_type n);
个构造函数。在这种情况下,这不是{ }
大括号。这句话怎么了?
答案 0 :(得分:0)
但是,有明确的向量(size_type n);构造函数。在这种情况下,这不是{}大括号。这句话怎么了?
统一初始化语法意味着,这两者基本相同:
SomeType objectName(constructor_args);
SomeType objectName{constructor_args};
在某些情况下,也可以使用大括号来填充初始化列表,但这不是这种情况。
您确实正在调用第二个构造函数,该构造函数指定了向量应该以元素数开头的元素数。
C ++初始化非常复杂,所以我在这里不再详细介绍,但是请您对所有各种初始化语法进行一些相关的阅读。你的C ++书应该涵盖它们。