容器适配器不支持迭代器

时间:2011-07-04 09:13:28

标签: c++ stl

在关于STL的一篇C ++文章中,正在说 -

由于容器适配器不支持迭代器,因此它们不能与STL算法一起使用。

但它没有解释为什么容器适配器不支持迭代器?任何人都能解释一下吗?

2 个答案:

答案 0 :(得分:6)

堆栈或具有迭代器的队列有什么意义?根据定义,堆栈只能推送和弹出...迭代器会破坏这些适配器的整个目的

答案 1 :(得分:2)

我会注意到这只是观察,而不是规则。

也就是说,STL中提供的容器适配器不支持迭代,因为它们限制接口符合特定模型:

  • 只能在一端处理堆栈
  • 在队列中,您只能在一端推送并从另一端检索

但是,这不是一个规则,您可能决定创建支持迭代的适配器。