我开始与Boost合作,并且正在浏览它拥有的几个库。为什么没有boost :: container :: queue?
我注意到boost :: container定义了几乎所有的标准容器,但不是queue
。
我没有找到任何提及;所以我想知道为什么只有deque
。我想测试STL容器替换升压的,我被告知这将是可能的...
在此先感谢有关此主题的任何解释。
我开始与Boost合作,并且正在浏览它拥有的几个库。为什么没有boost :: container :: queue?
我注意到boost :: container定义了几乎所有的标准容器,但不是queue
。
我没有找到任何提及;所以我想知道为什么只有deque
。我想测试STL容器替换升压的,我被告知这将是可能的...
在此先感谢有关此主题的任何解释。
std::queue
不是一个容器,它是一个包装。它消耗一个容器并提供一个非容器(简化)的接口。
std::queue<T>
的提升版本(实际上意味着std::queue<T, std::deque<T> >
,通过默认模板参数)是std::queue<T, boost::container::deque<T> >
。
谢谢你这个明确的答案。 – Bentoy13
仍然:没有提升队列,但暗示适配器是好的。但是,为什么boost没有那个适配器? –
@Dieter:当规范要求适配器的特定实现时,不能提供更好/更好的适配器实现。正如我所展示的,这些改进来自使用不同的底层容器。你怎么说'std ::队列
很多推动东西去标准库,如果他们在那里使用std :: whatever(似乎:在队列std更快) –