stringstream在程序中的作用很广,可以进行数据间的类型转换,也可以进行多个字符串的拼接。
详见博客:https://blog.csdn.net/liitdar/article/details/82598039
但是,随之而来的问题是,stringstream的清空并没有那么简单。
用clear的话,内存会不断增长。
在for循环中每次调用strStream.clear()是希望在每次使用完strStream之后清理strStream占用的资源,但stringstream的clear方法并没有真正地释放strStream占用的空间,这样strStream所占用的空间一直在增长。当size较大时,strStream消耗的内存迅速增长,可能出现严重问题。
因此,我们在多次转换中,使用同一个stringstream对象,需要使用其对象方法str来重置stringstream的buffer,这样能确保stringstream占用的内存不会越积越多。
strStream.str("");//清空缓冲区