我需要经常将字符串设为空,然后在其中附加一些字符。
std::string::clear() 可能会重新分配
std::string::resize(0) 是否进行重新分配?标准的话没有对此做出任何保证。
我认为最好的答案是“注释”部分http://en.cppreference.com/w/cpp/string/basic_string/clear.
与 std::vector::clear 不同,C++ 标准没有明确要求此函数不改变容量,但现有实现不会更改容量。
如果容量不变,那几乎肯定意味着不会调用任何分配或释放函数。这可能是您能做的最好的事情,无需查看您关心的每个实现。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)