我正在使用std::queue来实现JobQueue类(基本上该类以FIFO方式处理每个作业)。 在某种情况下,我想一次性清除队列(从队列中删除所有作业)。 我没有看到std::queue类中有任何可用的clear方法。
如何高效地实现JobQueue类的清除方法?
我有一个简单的解决方案,即通过循环弹出(pop)但我正在寻找更好的方法。
//Clears the job queue
void JobQueue ::clearJobs()
{
// I want to avoid pop in a loop
while (!m_Queue.empty())
{
m_Queue.pop();
}
}
deque
支持clear函数。 - bobobobo