vector可以在c ++中成为队列的容器吗?

时间:2017-07-06 02:30:08

标签: c++ list vector deque

vector不能成为队列的容器适配器的原因是什么?

您的意见非常感谢。

1 个答案:

答案 0 :(得分:3)

注意在提交此答案后,问题已经巧妙但显着改变。

“后备容器”不是C ++中的专业术语。它是一个随意构造的名词短语,由形容词“支持”和名词“容器”组成。

“容器”显然是一个STL容器。

“支持”是动词“back”的现在分词,其中“to back”表示支持。动词的现在分词可以用作形容词。 “支持”装饰“容器”意味着容器支持某种东西。

在STL中,有容器适配器,例如std::stackstd::queue。它们本身不是容器。每个都依赖于一个真正的容器来存储东西。在某些casual conversations中,人们使用临时名词短语“backing container”来表示容器适配器后面的实际容器。

那么,哪些容器可以称为“支持容器”而哪些不可以呢?这取决于容器适配器。例如,std::stack可以由vector,deque和list支持;但是std::queue只能由deque和list支持。