通过循环判断size()清理queue的问题

今天犯了个二逼问题,我想清理一个queue里对象,用了以下方法:

1         while(int i=0;i<objQueue.size();++i)
2         {
3             T* p_obj = objQueue.front();
4             delete p_obj;
5             objQueue.pop();
6         }

结果里边有一半的对象没有被清理掉,因为i不断增加,而size()不断减小,所以正确方法如下:

1         while(!objQueue.empty())
2         {
3             T* p_obj = objQueue.front();
4             delete p_obj;
5             objQueue.pop();
6         }

 

posted @ 2014-08-29 13:49  郭晓倩  阅读(279)  评论(0)    收藏  举报