在保持容量时重置字符串

时间:2014-01-21 13:42:41

标签: c++ string

我在这里读了很多关于如何完全清除字符串的问题(即重置容量,释放内存)。我的问题恰恰相反;是否有任何可靠的方法来重置字符串(长度),同时保证其容量保持不变?

示例:在循环中重用临时字符串。

如果我执行类似

的操作,可能会默认发生这种情况
str.clear()
str.reserve(256)

在每次循环迭代中,至少在根据这篇文章的答案使用Visual Studio时:Specific behaviour of std::string on visual studio?

但依赖“可能”似乎有点冒险。

1 个答案:

答案 0 :(得分:9)

根据http://en.cppreference.com/w/cpp/string/basic_string/clear clear(),不会释放内部缓冲区并保持capacity完好无损。