Vector类型String但在使用整数初始化时

时间:2017-03-24 16:21:11

标签: c++ c++11

我的代码如下:

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。我认为它创建了一个矢量字符串,第一个元素是整数。当我打印所有值时,它显示像空格

1 个答案:

答案 0 :(得分:5)

v6.size()是向量的大小。您已经创建了一个10个空字符串的向量。例如,如果您查看v6[0].size(),它将为零。

您可能打算这样做:

vector<string> v6{ "10" };

通过使用整数而不是字符串文字,您调用了向量构造函数重载,这意味着“创建这么多默认构造元素的向量”,其中您可能意味着“使用这些特定元素创建向量。”