std::queue 迭代

2022-01-21 00:00:00 queue iteration c++ c++-standard-library

我需要遍历 std::queue.www.cplusplus.com 说:

I need to iterate over std::queue. www.cplusplus.com says:

默认情况下,如果没有为特定队列类指定容器类,则使用标准容器类模板双端队列.

By default, if no container class is specified for a particular queue class, the standard container class template deque is used.

那么我能否以某种方式访问??队列的底层双端队列并对其进行迭代?

So can I somehow get to the queue's underlying deque and iterate over it?

推荐答案

如果您需要遍历 queue,那么您需要的不仅仅是队列.标准容器适配器的重点是提供最小接口.如果您还需要进行迭代,为什么不直接使用双端队列(或列表)呢?

If you need to iterate over a queue then you need something more than a queue. The point of the standard container adapters is to provide a minimal interface. If you need to do iteration as well, why not just use a deque (or list) instead?

相关文章