如果我有:
#include <string>
std::string myString = "Hello";
然后执行以下任一操作:
myString = "Hello World";
或者
myString+= " World";
我是否有重写其他记忆的风险?
我是否必须使用字符串函数来添加或更改字符串的大小?
使用std::string
,这完全可以std::string
管理自己的内存。
使用 c 风格的字符串 using char*
,您需要管理自己的内存。
std 字符串就像任何其他容器类一样,如 vector。它们还具有连续的内存结构,当它们需要额外空间时,它们只需为自己重新分配内存。
如果您正在处理频繁的字符串更新并且您的字符串会及时增长,您可以调用 string::reserve() 方法为您的字符串预分配一些内存,以便新插入不会导致大量内存移动
Usingstring
让您可以像其他原始数据类型一样处理它int
float
。
int a = 3;
可以造成a = 5
或a += 3
不造成任何伤害
同样适用
string myString = "Hello";
myString = "Hello World";
myString+= " World";