我有以下代码:

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的尺寸打印10。我以为它创建的向量字符串的第一个元素是整数。当我打印所有值时,它会显示类似空格的内容

最佳答案

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

您可能打算这样做:

vector<string> v6{ "10" };


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

关于c++ - vector 类型String,但是用整数初始化时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43004475/

10-08 23:17