std::queue没有提供clear的接口。我们可以如下实现:
方法一
直接用空的队列对象赋值
queue<int> q;
q = queue<int>();
方法二
遍历队列
while (!q.empty())
{
q.pop();
}
方法三
使用swap,这种是最高效的,定义clear函数,保持STL容器的标准。
void clear(queue<int>& q)
{
queue<int> empty;
swap(empty, q);
}