Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 与x27之间的差异;{';和';(';定义带整数参数的向量<;字符串>?_C++_Vector - Fatal编程技术网

C++ 与x27之间的差异;{';和';(';定义带整数参数的向量<;字符串>?

C++ 与x27之间的差异;{';和';(';定义带整数参数的向量<;字符串>?,c++,vector,C++,Vector,以下两者之间的区别是什么: 向量v1(10);和向量v2{10}; v1.size()==v2.size()返回1,那么这两个值是否相同?在本例中,它们是相同的 使用带括号的初始化语法(vector v2{10})将调用vector::vector(initializer\u list)构造函数(如果它有效),但在本例中它不是,因为int不是std::string,所以它会调用vector::vector(size\u type)constructor,创建一个包含十个空string元素的向量,

以下两者之间的区别是什么:

向量v1(10);
向量v2{10};


v1.size()==v2.size()
返回1,那么这两个值是否相同?

在本例中,它们是相同的

使用带括号的初始化语法(
vector v2{10}
)将调用
vector::vector(initializer\u list)
构造函数(如果它有效),但在本例中它不是,因为
int
不是
std::string
,所以它会调用
vector::vector(size\u type)
constructor,创建一个包含十个空
string
元素的向量,与
向量v1(10)
相同


如果您使用的是
vector
而不是
vector
,那么使用大括号和圆括号的结果会有所不同,
vector v1(10)
创建一个十个元素都等于0的向量,而
vector v1{10}
创建一个元素等于10的向量。

相关问题更详细,但可能是初学者不友好的回答: