在Mobile 6.5平台上,使用string类时,碰到下面困惑:
std::string strBuffer;
while(TURE)
{ ....
strBuffer.append(“读取到到的字符”);
//strBuffer处理
if(strBuffer.size() > 2048)
strBuffer.erase(0,1024);
// 其他处理
}
不知道,上面这种用法合理么?会产生内存泄漏么? string是如何处理内存的?
------解决方案--------------------
你写的几句是没有泄漏的,要知道内部运作过程,直接看源码好了,很简单,都是常用的内存/字符串处理方法
------解决方案--------------------
你只是用append/erase等它提供的方法操作string的话,怎么用都不会有内存问题的
要相信标准库的可靠性