队列允许的底层容器是什么?
在以下语法中:
queue<int, list<int> > q;
列表是唯一允许的吗?(在列表、双端队列、向量中)
谢谢!
C++11 N3485 § 23.6.3.1/1 说:
任何支持操作 front()、back()、push_back() 和 pop_front() 的序列容器都可以用于实例化队列。特别是,可以使用 list (23.3.5) 和 deque (23.3.3)。
所以只要它是一个序列容器并且有合适的成员函数,它就可以工作。但是,操作被委托给底层容器,所以当有性能要求时应该记住这一点。