c++ - std::string 通过索引赋值似乎不起作用

标签 c++ string indexing stdstring

在 C++ 中

当我声明

string string1;

然后我不能像在

中那样按索引分配
string1[0] = 'x';

但是如果我先把 string1 = "somestring";然后我就可以通过索引使用分配。

string = ""; 

不工作

所以我想知道为什么会这样。我认为 std::string 应该具有索引功能。

最佳答案

当您默认构造一个字符串时,它是空的。它的 char 数组没有元素,所以 [0] 不存在。如果你通过给它一个字符串来构造它,比如 "somestring",它包含那个字符串并且第零个索引是 s

关于c++ - std::string 通过索引赋值似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24101296/

相关文章:

c++ - 如何在 Qt Creator 的 constexpr 函数中使用循环?

c++ - 基于范围的 for 循环忽略元素

IOS 应用程序中的 C++ 类,Xcode 5

postgresql - 在表上创建索引时,错误关系已存在于 PostgreSQL 中

mysql - 是否可以索引 mysql 表以按 A 减 B 排序?

c++ - 将 std::any_of、std::all_of、std::none_of 等与 std::map 一起使用

php - 如何使用 php 用逗号分隔 mysql 行值?

c - 字符串没有填充随机字符(C)?

C 使用指针遍历 char 数组

indexing - 谷歌企鹅恢复时间?