矢量类型 字符串,但当用整数初始化时
Vector type String but when initialize with integer
我有以下代码:
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 构造函数重载,这意味着"创建这么多默认构造元素的向量",其中您可能的意思是"使用这些特定元素创建向量"。
相关文章:
- C++使用整数的压缩数组初始化对象
- 整数在VSCommunity2019,windows10中未初始化
- 为什么初始化 std::vector 时不能使用模板整数?
- 在标头中C++整数初始化
- 初始化不是整数的巨大常量多维数组的最佳方法是什么?
- 如何初始化整数+字符串数组
- 如何将整数重新初始化/设置为空值
- 使用整数初始化列表初始化长双精度的向量
- 当 map 是一个整数数组并且由 operator[] 创建时,它是否初始化其映射类型
- 使用 size_t 初始化循环变量时的整数下溢
- C++11 整数初始化
- 错误 C2864:'element::next':只能在类 (STRUCT) 中初始化静态常量整数数据成员
- 错误:调用'begin(long double [nPoints])'没有匹配函数;使用硬编码的 int 与整数变量初始化向量
- 如何初始化无符号整数uint8_t
- 为什么可以将Char指针变量初始化为字符串,而INT指针变量不能初始化到整数数组
- 从签名的字符到整数,过早促销的价值初始化
- 如何使用整数初始化 GMP mpz_t
- 矢量类型 字符串,但当用整数初始化时
- Visual Studio 2010 SP1 中的 64 位整数初始化错误
- c++模板:用一个特定的整数初始化一个变量(作为类型)