[英]Why std::queue doesn't implement insert() while std::deque does?
插入允許插入到結構的任意位置。
std::queue
是FIFO結構的抽象接口。 您只能在最后添加內容。 底層結構不一定具有插入任意位置的有效方法(例如,考慮std::vector
)。 因此std::queue
沒有通用的插入成員函數。
由於常規插入函數需要迭代器位置參數,因此為方便起見提供了多次插入,因此您不必跟蹤下一個迭代器位置。 不需要回推,因為不需要迭代器跟蹤並且微不足道的循環就足夠了。
std::queue
是一個適配器, 旨在限制於推/彈出接口。 即使std::vector
是基礎實現,它也不會公開insert
。
沒有特殊的性能原因,僅是一種設計方法:如果您覺得容器是一個隊列,那么就不必公開不需要的接口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.