在保持容量时重置字符串

Dae*_*pha 6 c++ string

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

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

如果我这样做,可能会默认发生这种情况

str.clear()
str.reserve(256)
Run Code Online (Sandbox Code Playgroud)

在每个循环迭代中,至少在根据这篇文章的答案使用Visual Studio时:std :: string在visual studio上的特定行为?

但依赖"可能"似乎有点风险.

use*_*253 9

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