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

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

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

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

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

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

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

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

Зачем нужны деревья? - C++
Изучил тему деревья (осуществлял втавки, удаление, обходы и т.д.). Теперь хочу разобраться, зачем они вообще нужны? В каких случаях надо...

Зачем нужны операторы << и >> - C++
В книжке Дейтлов есть код http://pic.ipicture.ru/uploads/091222/thumbs/q1TZw4n1JQ.jpg Вопрос в том, что там где написано, что числа...

Зачем нужны сортировки - C++
Скажите пожалуйста, зачем при подготовке к олимпиаде по программированию, нужно учить алгоритмы: Быстрая сортировка, сортировка пузырьком и...

Зачем нужны указатели - C++
Не могу понять синтаксис указателей. Понял, что это работа с адресами, что оператор &amp; это адрес. А вот * как я понял, это объявление...

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

Потому что не хотят в своём коде для какого-то контейнера реализовывать нужные функции. Потому что не хотят переписывать эти функции, если контейнер поменяется. Потому что хотят обрабатывать различные контейнеры одинаковым образом.
Mr.X
Эксперт С++
3049 / 1694 / 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 Посмотреть сообщение
Кстати, итераторы позволяют алгоритмам и со встроенными сишными массивами работать. Интересно, как в них вы собираетесь реализовать "нужные методы"?

Не по теме:

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 10:45
Привет! Вот еще темы с ответами:

Зачем нужны макросы? - C++
Зачем нужны макросы?

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

Зачем нужны указатели? - C++
Интересует вопрос, зачем нужны указатели? Например почему лучше нужно объявлять переменные как указатели, почему как обычно нельзя? ...

Зачем нужны исключения? - C++
Добрый вечер, прочитал статью об исключениях, не очень понимаю, почему бы не заменить их просто оператором if? Вот код с исключением: ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.09.2013, 10:45
Ответ Создать тему
Опции темы

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