【发布时间】:2011-08-31 19:03:22
【问题描述】:
std::queue 默认使用双端队列实现。 std::deque 具有下标运算符 operator[],并且可能使用数组实现。那么为什么std::queue 没有operator[]?
我意识到你可以有一个带有列表的队列作为底层容器。 (std::queue<int, std::list<int>>.) 但即使这会使下标运算符变慢,这真的是不包含它的好理由吗?这是我能想到的不包括在内的唯一原因。
【问题讨论】:
-
如果需要operator[],为什么要使用队列?
-
嗯,真正的原因是,这是我去年担任实验室导师时其他学生的作业的一部分。他们应该专门使用队列,但如果他们能在前面看到一些元素,那就容易多了。真的是人为的原因。 :P 在现实生活中我只会使用双端队列。
标签: c++ queue subscript-operator