c ++中的向量声明类型

dat*_*ili 1 c++

请有人向我解释这意味着什么?

vector<int> myvector(4,99);  
Run Code Online (Sandbox Code Playgroud)

Mat*_*nen 11

它(很可能)是一个整数的std ::向量,初始化为包含四个值为99的整数.


Kea*_*eks 10

A a(x,y);创建名为对象a,调用的构造A具有两个参数相匹配的类型的xy,或任何可转换类型.

所以这:

vector<int> myvector(4,99);
Run Code Online (Sandbox Code Playgroud)

匹配此构造函数:

explicit vector( size_type num, const TYPE& val = TYPE() ); 
// `TYPE` is a `typedef` assigned to the parametrized type (here `int`), which means the constrcutor is actually:
explicit vector( size_type num, const int& val = int() );
Run Code Online (Sandbox Code Playgroud)

其中使用值为99的4个元素构造a vector并调用它myvector.调用此构造函数是因为第一个参数可以转换为a size_type,也是a typedef,定义为整数类型(通常unsigned long).