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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Анд_Рей
4 / 4 / 0
Регистрация: 27.12.2009
Сообщений: 154
#1

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

21.09.2013, 01:57. Просмотров 614. Ответов 3
Метки нет (Все метки)

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

Итераторы: зачем используется оператор инкремента для потоков вывода? - C++
Хотел уточнить зачем используется оператор инкремента для потоков вывода: void main(void) { std::ostream_iterator<int>...

Зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может больше 4 байт весить? - C++
Вот еще один вопрос зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может...

Зачем нужны многоуровневые указатели - C++
вопрос в названии темы

Зачем нужны стеки (STACK) ? - C++
Добрый день, я уже 1,5 года учусь программировать на разных языках, в основном таких как pascal, c++, php, и хочу в каждом научиться...

Зачем нужны модификаторы типов? - C++
Читаю Шилдта и все более менее понятно,но насчет unsigned , signed , shot , long что то вообще дыра в понимании и их пропускал,а потом...

Объясните зачем нужны конструкторы - C++
Зачем нужны конструкторы? Читаю в книгах, смотрю видеоуроки и все равно не понятно

Зачем нужны header-файлы - C++
Здравствуйте хотелось бы узнать ,в чем заключается смысл этих самых header файлов ?

Зачем нужны хэш контейнеры? - C++
Привет всем) Собственно такой вопрос: зачем нужны хэш контейнеры? В чем разница между стандартными контейнерами STL? Эффективность и тд? ...

Зачем нужны адапторы контейнеров? - C++
Объясните, пожалуйста, зачем нужны адаптеры контейнеров. Не понимаю смысл их существования, у них и функции какие-то кривые по сравнению с...

Зачем нужны классы и структуры? - C++
1. Зачем нужны классы? 2. Зачем нужны аргументы в main()? 3. Зачем нужны структуры. struct *имя*{}?


Искать еще темы с ответами

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

Потому что не хотят в своём коде для какого-то контейнера реализовывать нужные функции. Потому что не хотят переписывать эти функции, если контейнер поменяется. Потому что хотят обрабатывать различные контейнеры одинаковым образом.
Mr.X
Эксперт С++
3042 / 1687 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
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     Зачем нужны итераторы?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru