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

Esp*_*age 3 c++

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

字符串如何处理内存?

Che*_*Alf 7

回覆:

"字符串如何处理内存?

自动的.

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