Форум программистов, компьютерный форум CyberForum.ru

Зачем нужны итераторы? - C++

Восстановить пароль Регистрация
 
Анд_Рей
2 / 2 / 0
Регистрация: 27.12.2009
Сообщений: 145
21.09.2013, 01:57     Зачем нужны итераторы? #1
Практическое использование мне понятно - с их помощью обходят контейнеры и т.д и т.п.Но почему не реализовать нужные методы,перегрузить нужные операторы и пожалуйста?! Зачем определять итератор?!В чем принципиальная разница?!
Спасибо!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2013, 01:57     Зачем нужны итераторы?
Посмотрите здесь:

C++ Зачем нужны операторы << и >>
Зачем нужны макросы? C++
C++ Зачем нужны сортировки
C++ Зачем нужны деревья?
C++ Зачем нужны указатели?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
21.09.2013, 02:00     Зачем нужны итераторы? #2
Абстрагирование.

Потому что не хотят в своём коде для какого-то контейнера реализовывать нужные функции. Потому что не хотят переписывать эти функции, если контейнер поменяется. Потому что хотят обрабатывать различные контейнеры одинаковым образом.
Mr.X
Эксперт С++
 Аватар для Mr.X
2800 / 1576 / 246
Регистрация: 03.05.2010
Сообщений: 3,658
21.09.2013, 08:12     Зачем нужны итераторы? #3
Чтобы удобно было писать алгоритмы (для реализации которых и создавалась STL). Алгоритм знает о контейнере только то, что он является последовательностью, и манипулирует элементами этой последовательности с помощью итераторов (аналоги указателей на элементы массива). И это называется обобщенным программированием.

Добавлено через 4 часа 46 минут
Кстати, итераторы позволяют алгоритмам и со встроенными сишными массивами работать. Интересно, как в них вы собираетесь реализовать "нужные методы"?
Бендерродригез
Сгибальщик
 Аватар для Бендерродригез
42 / 42 / 3
Регистрация: 18.05.2013
Сообщений: 220
Завершенные тесты: 1
21.09.2013, 10:45     Зачем нужны итераторы? #4
Цитата Сообщение от Mr.X Посмотреть сообщение
Кстати, итераторы позволяют алгоритмам и со встроенными сишными массивами работать. Интересно, как в них вы собираетесь реализовать "нужные методы"?

Не по теме:

Может, просто таки писать на С++, а не на С?

Yandex
Объявления
21.09.2013, 10:45     Зачем нужны итераторы?
Ответ Создать тему
Опции темы

Текущее время: 23:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru