vector容器初始化{}和()的区别
看代码:
extern "C"{
int printf(const char * format, ...);
}
#include<vector>
int main(){
std::vector<int> vec1{10, 20};
for(int i=0;i<vec1.size();i++){
printf("%d ", vec1[i]);
}
printf("\n");
std::vector<int> vec2(10,20);
for(int i=0;i<vec2.size();i++){
printf("%d ", vec2[i]);
}
printf("\n");
return 0;
}
输出结果为:
10 20
20 20 20 20 20 20 20 20 20 20
这说明了使用{10,20}初始化得到的容器中包含10和20两个元素。而使用(10,20)初始化得到的容器中包含了10个值为20的元素。