Контейнерные адаптеры не поддерживают итераторы - PullRequest
6 голосов
/ 04 июля 2011

В одной из статей C ++ по STL говорится, что -

Поскольку адаптеры контейнеров не поддерживают итераторы, следовательно, их нельзя использовать с алгоритмами STL.

Но это не объясняет, почему Контейнерные Адаптеры не поддерживают итераторы? Кто-нибудь может объяснить мне то же самое?

Ответы [ 2 ]

6 голосов
/ 04 июля 2011

Какой смысл в стеке или очереди, имеющей итератор?По определению стек - это то, что вы можете только вставить и вставить ... Итератор уничтожит всю цель этих адаптеров

2 голосов
/ 04 июля 2011

Я бы заметил, что это только наблюдение, а не правило.

То есть адаптеры контейнеров, предоставляемые в STL, не поддерживают итерацию, поскольку они ограничивают интерфейс для соответствия определенной модели:

  • Работать со стеком можно только на одном конце
  • В очереди вы можете нажать только на одном конце и получить с другого

Однако это не правило, и вы можете решить создать адаптеры, которые будут поддерживать итерацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...