我正在用 std:ostringstream 和 -std=c++11 从内存错误中舔我的伤口?,我有一个相关的问题。
如果以下返回一个临时的,那么它reserve
没有效果并且char*
无效:
ostringstream oss;
oss.str().reserve(96);
// populate oss
const char* ptr = oss.str().c_str();
// do something with ptr
那么以下如何清除ostringstream
(来自如何重用ostringstream?):
oss.clear(); oss.str("");
我了解clear()
将重置流的标志;但据我所知,str("")
它将在临时而不是基础字符串上运行。
那么如何str("")
重置流呢?