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

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

Войти
Регистрация
Восстановить пароль
 
AnreyKazakov
Заблокирован
#1

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

09.09.2012, 09:26. Просмотров 956. Ответов 3
Метки нет (Все метки)

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

Добавлено через 1 минуту
*iter до этого нигде не определялся, не объявлялся...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2012, 09:26     Как работает итератор?
Посмотрите здесь:

C++ Как более менее правильно написать итератор(не STL).
C++ Функция, дружественная классу, вложенному в шаблонный класс, или как написать итератор.
как сделать, чтобы итератор указывал на определенный элемент контейнера C++
C++ Как передать итератор в качестве параметра функции?
C++ Как закончить ввод в итератор ввода для потока
Как реализуется типичный итератор? C++
C++ как создать копию объекта, на который ссылается итератор?
Как это работает? Я хочу спросить как работает C++ и где можно про него почитать C++
C++ Класс: как обратиться к методу производного класса через итератор на базовый класс?
Реализовать двусвязный список (list), итератор (iterator) и константный итератор (сonst_iterator) для списка C++
Как узнать индекс элемента массива, зная итератор на этот элемент? C++
C++ Как вывести одно значение из массива list? Лучше использовать итератор или как-то по другому?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
4253 / 2785 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
09.09.2012, 12:27     Как работает итератор? #4
begin() и end() это просто функции класса. begin() возвращает итератор, установленный на первый элемент в контейнере, а end() возвращает итератор, "установленный" на элемент, следующий за последним.
Yandex
Объявления
09.09.2012, 12:27     Как работает итератор?
Ответ Создать тему
Опции темы

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