小编Pri*_*Raj的帖子

为什么使用默认构造函数构造std :: string对象时,其行为会有所不同?

我尝试了以下程序:

#include <iostream>
#include <string>

int main ()
{
  std::string str;
  str[0] = 'o';
  str[1] = 'k';
  std::cout << str.length();
  std::cout << "as a whole :";
  std::cout << str << std::endl;
  std::cout << "character by character :";
  std::cout << str[0] << str[1] << std::endl;      
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我不能使用object变量将字符串整体打印出来,为什么返回长度,0因为显然我已经使用下标运算符添加了字符,因为这将返回char引用,所以我知道这是合法的。

另外,我没有得到任何例外。就是这样。显然,std::string班上的幕后发生了很多事情,我知道我错过了一些东西。有人可以帮我吗?

c++ stl insert stdstring c++-standard-library

3
推荐指数
2
解决办法
132
查看次数

标签 统计

c++ ×1

c++-standard-library ×1

insert ×1

stdstring ×1

stl ×1