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

Объявление итератора и его использование - C++

Восстановить пароль Регистрация
 
Sifors
 Аватар для Sifors
1 / 1 / 0
Регистрация: 28.09.2016
Сообщений: 39
13.10.2016, 02:45     Объявление итератора и его использование #1
Как правильно объявлять итератор? В каких случаях используется?
Можно ли через итератор получить доступ к элементу вектора(записать, изменить, удалить), если да то как?
Как с помощью итератора выполнять какие либо операции(как выше)?
Желательно примеры, потому как не знаю синтаксиса но представление имею. Долго искал в интернете, но информация размытая. Буду благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2016, 02:45     Объявление итератора и его использование
Посмотрите здесь:

C++ Подскажите простую реализацию динамического массива и его использование с возможностью изменения его размера
C++ Динамические массивы: Объявление, использование, изменение размерности
C++ Класс Tcanvas. Его использование
C++ Использование потокового итератора для пользовательских обьектов
C++ Использование итератора в двусвязном списке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nd2
1048 / 787 / 267
Регистрация: 29.01.2016
Сообщений: 2,460
13.10.2016, 05:21     Объявление итератора и его использование #2
Цитата Сообщение от Sifors Посмотреть сообщение
Можно ли через итератор получить доступ к элементу вектора(записать, изменить, удалить), если да то как?
Цитата Сообщение от Sifors Посмотреть сообщение
Желательно примеры,
http://www.cplusplus.com/reference/vector/vector/begin/
http://www.cplusplus.com/reference/v...vector/assign/
http://www.cplusplus.com/reference/vector/vector/erase/
Mr.X
Эксперт С++
 Аватар для Mr.X
2802 / 1578 / 247
Регистрация: 03.05.2010
Сообщений: 3,666
13.10.2016, 07:37     Объявление итератора и его использование #3
Цитата Сообщение от Sifors Посмотреть сообщение
Как правильно объявлять итератор?
Вы имеете в виду итератор STL-контейнера или самописного?
Цитата Сообщение от Sifors Посмотреть сообщение
В каких случаях используется?
Для доступа к элементам контейнера-последовательности.
Цитата Сообщение от Sifors Посмотреть сообщение
Можно ли через итератор получить доступ к элементу вектора(записать, изменить, удалить), если да то как?
Как с помощью итератора выполнять какие либо операции(как выше)?
Итератор - это обобщение указателя, операции те же самые. У каждого контейнера есть функция begin(), которая возвращает итератор на первый элемент. Далее работаете с ним как с указателем. Есть еще функция end(), которая возвращает итератор, указывающий на элемент за последним. При обходе контейнера инкрементируем итератор до тех пор, пока он не станет равным end().
Цитата Сообщение от Sifors Посмотреть сообщение
Долго искал в интернете
А в учебники не пробовали заглядывать?
Sifors
 Аватар для Sifors
1 / 1 / 0
Регистрация: 28.09.2016
Сообщений: 39
13.10.2016, 19:58  [ТС]     Объявление итератора и его использование #4
Цитата Сообщение от Mr.X Посмотреть сообщение
А в учебники не пробовали заглядывать?
Там много теории, но мало практики.
Я знаю как объявить итератор, но не знаю как с его помощью, к примеру записать в вектор(из 10) цифру 8 в 3 элемент.
Как я не пытался у меня не получалось, поэтому я сказал, что меня интересуют простые примеры.
GbaLog-
Не Эксперт C++
1477 / 622 / 176
Регистрация: 24.08.2014
Сообщений: 2,531
Записей в блоге: 1
Завершенные тесты: 2
13.10.2016, 19:59     Объявление итератора и его использование #5
Цитата Сообщение от Sifors Посмотреть сообщение
Там много теории, но мало практики.
А Вы хотели, чтобы учебники из одних листингов состояли что ли?
nd2
1048 / 787 / 267
Регистрация: 29.01.2016
Сообщений: 2,460
13.10.2016, 20:06     Объявление итератора и его использование #6
Цитата Сообщение от Sifors Посмотреть сообщение
но не знаю как с его помощью, к примеру записать в вектор(из 10) цифру 8 в 3 элемент.
C++
1
2
3
4
    vector <int> v(10);
    vector <int>::iterator it;
    it = v.begin() + 3;
    *it = 8;
obivan
Падаван С++
 Аватар для obivan
172 / 158 / 41
Регистрация: 11.11.2014
Сообщений: 591
Завершенные тесты: 1
13.10.2016, 20:17     Объявление итератора и его использование #7
Цитата Сообщение от Sifors Посмотреть сообщение
Там много теории, но мало практики.
быть "код манки" не лучшая практика тоже, без теории далеко не уехать, в любом деле нужно сочетать и то, и другое
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,899
Записей в блоге: 2
Завершенные тесты: 1
14.10.2016, 09:41     Объявление итератора и его использование #8
Цитата Сообщение от Sifors Посмотреть сообщение
но не знаю как с его помощью
А вот для этого уже и теорию почитать не помешает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2016, 10:27     Объявление итератора и его использование
Еще ссылки по теме:

C++ Объявление класса без его реализации
Оператор приведения и его объявление C++
C++ Безопасное использование итератора С++

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

Или воспользуйтесь поиском по форуму:
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6171 / 2900 / 284
Регистрация: 04.12.2011
Сообщений: 7,712
Записей в блоге: 3
14.10.2016, 10:27     Объявление итератора и его использование #9
Sifors, если Вы только начинаете, то пробовать работать с итератором наподобие того как с полноценным типом не советую. Потратите много нервов и времени.
Однако, если хорошо знаете указатели, то ознакомиться с указателями как с зависимым типом, необходимо. Тут нужно читать доки. Итераторов существует несколько видов: произвольные, последовательные (одно/двунаправленные), реверсные. И все они могут быть константными или нет. Есть что учить.
Yandex
Объявления
14.10.2016, 10:27     Объявление итератора и его использование
Ответ Создать тему
Опции темы

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