我在应用程序中使用ostringstream
对象,该应用程序运行很长时间以将调试信息打印到标准输出。我根据命令行arg(例如,详细标志)切换应用程序是否实际打印并清除ostringstream
对象。当没有断言详细开关时,我仍然写入ostringstream
对象,但我从未清除它。
我想弄清楚这有多糟糕,是否应该更加小心清理对象?是否有任何负面影响,例如使用太多内存?
// example code
ostringstream oss;
while (1){
oss << " still alive " << endl;
if (verbose) { cout << oss.str(); oss.str("") }
}
答案 0 :(得分:1)
显然,当你继续在流中插入数据时,它会消耗更多的内存,这在某些时候可能会很多。
清除它会阻止它。