c – 为什么std :: queue在std :: deque没有实现insert()的情况下呢?

我正在阅读
std::queue,我想知道为什么没有方法可以通过一次操作有效地插入多个元素,而
std::deque提供
std::deque::insert? 最佳答案 插入物允许插入结构中的任意位置.

std :: queue是FIFO结构的抽象接口.你只能添加东西到最后.底层结构不一定具有插入任意位置的有效方式(例如,考虑std :: vector).因此std :: queue没有通用的插入成员函数.

由于通用插入函数需要迭代器位置参数,因此为方便起见提供了多插入,因此您不必跟踪下一个迭代器位置.推回不需要这个,因为不需要迭代器跟踪,并且一个简单的循环就足够了.

点赞