当我们在C ++中更改字符串的值时会发生什么

时间:2017-01-08 09:14:41

标签: c++

#include <iostream>
#include <string>
using namespace std;
int main () {
  string str = "Hello";
  str = "Hello World";
  cout<<str<<endl;
}

字符串如何处理内存?

1 个答案:

答案 0 :(得分:7)

回复:

  

字符串如何处理内存?

自动的。

这意味着,除其他外,没有办法给出std::string,一个外部创建的缓冲区。所以效率有点低。好的一面是swap std::string的要求(与std::vector相对)意味着它可以使用小缓冲区优化,其中存储了短字符串没有动态分配,这有助于提高效率。