您的std::string实现很可能使用某种形式的短字符串优化,从而导致较小字符串的固定大小,并且没有效果shrink_to_fit.请注意,shrink_to_fit对于实现来说,它是非绑定的,因此这实际上符合要求.
std::string
shrink_to_fit
您可以使用a vector来获得更精确的内存管理,但会丢失一些额外的功能std::string.您也可以编写自己string的vector内部包装器.
vector
string