小编Tho*_* T.的帖子

std :: string及其自动调整内存大小

我对C++很陌生,但我知道你不能像std :: string类那样只使用内存似乎让你这么做.例如:

std::string f = "asdf";
f += "fdsa";
Run Code Online (Sandbox Code Playgroud)

字符串类如何处理变得越来越大?我假设它分配了一个默认的内存量,如果它需要更多,它会有new更大的内存块并将自身复制到那个内存块.但是,每次需要调整大小时,必须复制整个字符串并不是很低效吗?我真的不能想到可以做到的另一种方式(但显然有人这样做了).

就此而言,所有stdlib类如vector,queue,stack等如何处理如此透明的增长和收缩?

c++ memory string std dynamic-resizing

12
推荐指数
3
解决办法
5574
查看次数

标签 统计

c++ ×1

dynamic-resizing ×1

memory ×1

std ×1

string ×1