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

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

Войти
Регистрация
Восстановить пароль
 
Sifors
 Аватар для Sifors
2 / 2 / 0
Регистрация: 28.09.2016
Сообщений: 56
#1

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

13.10.2016, 02:45. Просмотров 225. Ответов 8
Метки нет (Все метки)

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

Маccив->Статический вызов -> и его использование C++
C++ Подскажите простую реализацию динамического массива и его использование с возможностью изменения его размера
C++ Динамические массивы: Объявление, использование, изменение размерности
C++ Проверка итератора
C++ Класс Tcanvas. Его использование
C++ реализация итератора
C++ Использование потокового итератора для пользовательских обьектов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nd2
1357 / 1096 / 375
Регистрация: 29.01.2016
Сообщений: 3,382
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
3021 / 1677 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
13.10.2016, 07:37     Объявление итератора и его использование #3
Цитата Сообщение от Sifors Посмотреть сообщение
Как правильно объявлять итератор?
Вы имеете в виду итератор STL-контейнера или самописного?
Цитата Сообщение от Sifors Посмотреть сообщение
В каких случаях используется?
Для доступа к элементам контейнера-последовательности.
Цитата Сообщение от Sifors Посмотреть сообщение
Можно ли через итератор получить доступ к элементу вектора(записать, изменить, удалить), если да то как?
Как с помощью итератора выполнять какие либо операции(как выше)?
Итератор - это обобщение указателя, операции те же самые. У каждого контейнера есть функция begin(), которая возвращает итератор на первый элемент. Далее работаете с ним как с указателем. Есть еще функция end(), которая возвращает итератор, указывающий на элемент за последним. При обходе контейнера инкрементируем итератор до тех пор, пока он не станет равным end().
Цитата Сообщение от Sifors Посмотреть сообщение
Долго искал в интернете
А в учебники не пробовали заглядывать?
Sifors
 Аватар для Sifors
2 / 2 / 0
Регистрация: 28.09.2016
Сообщений: 56
13.10.2016, 19:58  [ТС]     Объявление итератора и его использование #4
Цитата Сообщение от Mr.X Посмотреть сообщение
А в учебники не пробовали заглядывать?
Там много теории, но мало практики.
Я знаю как объявить итератор, но не знаю как с его помощью, к примеру записать в вектор(из 10) цифру 8 в 3 элемент.
Как я не пытался у меня не получалось, поэтому я сказал, что меня интересуют простые примеры.
GbaLog-
Не Эксперт C++
2040 / 840 / 222
Регистрация: 24.08.2014
Сообщений: 3,204
Записей в блоге: 1
Завершенные тесты: 2
13.10.2016, 19:59     Объявление итератора и его использование #5
Цитата Сообщение от Sifors Посмотреть сообщение
Там много теории, но мало практики.
А Вы хотели, чтобы учебники из одних листингов состояли что ли?
nd2
1357 / 1096 / 375
Регистрация: 29.01.2016
Сообщений: 3,382
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
283 / 196 / 51
Регистрация: 11.11.2014
Сообщений: 693
Завершенные тесты: 2
13.10.2016, 20:17     Объявление итератора и его использование #7
Цитата Сообщение от Sifors Посмотреть сообщение
Там много теории, но мало практики.
быть "код манки" не лучшая практика тоже, без теории далеко не уехать, в любом деле нужно сочетать и то, и другое
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12519 / 7081 / 797
Регистрация: 27.09.2012
Сообщений: 17,489
Записей в блоге: 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++
C++ Безопасное использование итератора С++
__stdcall в файле Dll и его использование в екселе C++

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

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

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