矢量类型 字符串,但当用整数初始化时

Vector type String but when initialize with integer

本文关键字:整数 初始化 类型 字符串      更新时间:2023-10-16

我有以下代码:

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" };

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