我的代码如下:
vector<string> v6{10};
cout << v6.size() << endl;
for (int i = 0; i < 10; i++){
cout << v6[i] << endl;
}
输出如下图所示: http://i.prntscr.com/5f8e1fecbdd34fbc9c9d18b9e7e7a2a2.png
为什么他们为v6&#39的尺寸打印10。我认为它创建了一个矢量字符串,第一个元素是整数。当我打印所有值时,它显示像空格
答案 0 :(得分:5)
v6.size()
是向量的大小。您已经创建了一个10个空字符串的向量。例如,如果您查看v6[0].size()
,它将为零。
您可能打算这样做:
vector<string> v6{ "10" };
通过使用整数而不是字符串文字,您调用了向量构造函数重载,这意味着“创建这么多默认构造元素的向量”,其中您可能意味着“使用这些特定元素创建向量。”