c++ - 为什么字符串没有在 C++ 中打印所需的输出?

标签 c++

我正在用 C++ 编写这段代码。

std::string s;
s[0] = 'a';
std::cout << s;

结果应该是:一个

为什么这没有打印任何东西?问题很简单,但任何人都可以用更好的方式解释。

最佳答案

您的字符串大小从一开始就是零,因此您不能访问索引零。而是做

s = "a";

现在字符串的大小为 1 并且允许访问 s[0]

通常你可以从零索引到 size-1 但只有当 size >= 1 时才可以

关于c++ - 为什么字符串没有在 C++ 中打印所需的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39674553/

相关文章:

c++ - 检查反转数组是否与原始数组相同

c++ - 增加线程数时出现 CUDA 内核错误

c++ - Visual Studio 2010 上的 BOOL/VARIANT_BOOL OLE 接口(interface)错误

c++ - 复制整数数组与指向 boolean 值的指针

c++ - 使用 STL 列表容器,链表作为需要初始化的属性?

c++ - C++ getter 应该返回什么

c++ - 这个结构是如何被引用的?什么是冒号(:) at the bottom?

c++ - const 引用和 const 指针上的 new 表达式和 delete 表达式

c++ - boost::multi_index_container,对容器内 std::set 的操作

c++ - 异常传播和 std::future