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

Как работает итератор? - C++

Восстановить пароль Регистрация
 
AnreyKazakov
Заблокирован
09.09.2012, 09:26     Как работает итератор? #1
C++
1
2
for(vector<string>::iterator iter=vec1.begin();iter!=vec1.end();++iter)
*iter="";
вот такой вот пример разбираю, первая строчка предельно ясна, но вот вторая.... понятно что обнуляет, но откуда взялся *iter ? а он так точно знает что ему стирать и как, хм, странно все это...

Добавлено через 1 минуту
*iter до этого нигде не определялся, не объявлялся...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PSIAlt
 Аватар для PSIAlt
86 / 86 / 8
Регистрация: 19.06.2012
Сообщений: 245
09.09.2012, 09:28     Как работает итератор? #2
У итератора, то есть обьекта типа "vector<string>::iterator" перегружен operator*, поэтому говоря *iter ты вызываешь iter.operator* который возврвщает ссылку на значение. Дальше по этому ссылке ты переписываешь значение
AnreyKazakov
Заблокирован
09.09.2012, 12:12  [ТС]     Как работает итератор? #3
Спасибо, понял

Добавлено через 2 часа 33 минуты
Да еще вопрос возник, функции begin() и end() применимы только для итераторов?
PS так удивился когда функции эти увидел просто в институте делфи была...лазарус был... паскаль был.... У С++ видимо другой взгляд на назначение этих слов....
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
09.09.2012, 12:27     Как работает итератор? #4
begin() и end() это просто функции класса. begin() возвращает итератор, установленный на первый элемент в контейнере, а end() возвращает итератор, "установленный" на элемент, следующий за последним.
Yandex
Объявления
09.09.2012, 12:27     Как работает итератор?
Ответ Создать тему
Опции темы

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