【发布时间】:2011-04-21 22:29:50
【问题描述】:
我有一个要求:对于一个函数,我将输入作为数字流。我的意思是,该函数在每次调用中都会被单个号码调用。我使用std::queue 来存储数字流。只有在满足某些条件时,我才需要处理一组收集的数字。如果不满足条件,我需要将所有元素放入队列中,然后开始在其中存储新数字。为了清空队列,我找不到clear() 方法。所以我是这样循环的:
while(!q.empty())
q.pop();
我得到了一个有效的算法来清除std::queue@
How do I clear the std::queue efficiently?
我的问题是:为什么std::queue 不支持clear() 函数?
既然std::deque和std::vector都支持clear()方法,那么支持std::queue的技术难度是什么?
或者我的上述用例非常罕见,因此不受支持?
【问题讨论】:
标签: c++ visual-studio visual-c++ stl