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的向量。相关问题更详细,但可能是初学者不友好的回答: