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

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

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

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

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

Как правильно объявлять итератор? В каких случаях используется?
Можно ли через итератор получить доступ к элементу вектора(записать, изменить, удалить), если да то как?
Как с помощью итератора выполнять какие либо операции(как выше)?
Желательно примеры, потому как не знаю синтаксиса но представление имею. Долго искал в интернете, но информация размытая. Буду благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2016, 02:45     Объявление итератора и его использование
Посмотрите здесь:
C++ Безопасное использование итератора С++
C++ Использование итератора в двусвязном списке
C++ Использование потокового итератора для пользовательских обьектов
C++ Динамические массивы: Объявление, использование, изменение размерности
Оператор приведения и его объявление C++
C++ Объявление класса без его реализации
C++ Подскажите простую реализацию динамического массива и его использование с возможностью изменения его размера
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nd2
2130 / 1702 / 601
Регистрация: 29.01.2016
Сообщений: 5,493
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
Эксперт С++
3048 / 1693 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
13.10.2016, 07:37     Объявление итератора и его использование #3
Цитата Сообщение от Sifors Посмотреть сообщение
Как правильно объявлять итератор?
Вы имеете в виду итератор STL-контейнера или самописного?
Цитата Сообщение от Sifors Посмотреть сообщение
В каких случаях используется?
Для доступа к элементам контейнера-последовательности.
Цитата Сообщение от Sifors Посмотреть сообщение
Можно ли через итератор получить доступ к элементу вектора(записать, изменить, удалить), если да то как?
Как с помощью итератора выполнять какие либо операции(как выше)?
Итератор - это обобщение указателя, операции те же самые. У каждого контейнера есть функция begin(), которая возвращает итератор на первый элемент. Далее работаете с ним как с указателем. Есть еще функция end(), которая возвращает итератор, указывающий на элемент за последним. При обходе контейнера инкрементируем итератор до тех пор, пока он не станет равным end().
Цитата Сообщение от Sifors Посмотреть сообщение
Долго искал в интернете
А в учебники не пробовали заглядывать?
Sifors
2 / 2 / 0
Регистрация: 28.09.2016
Сообщений: 66
13.10.2016, 19:58  [ТС]     Объявление итератора и его использование #4
Цитата Сообщение от Mr.X Посмотреть сообщение
А в учебники не пробовали заглядывать?
Там много теории, но мало практики.
Я знаю как объявить итератор, но не знаю как с его помощью, к примеру записать в вектор(из 10) цифру 8 в 3 элемент.
Как я не пытался у меня не получалось, поэтому я сказал, что меня интересуют простые примеры.
GbaLog-
Любитель чаепитий
2621 / 1160 / 284
Регистрация: 24.08.2014
Сообщений: 4,245
Записей в блоге: 1
Завершенные тесты: 2
13.10.2016, 19:59     Объявление итератора и его использование #5
Цитата Сообщение от Sifors Посмотреть сообщение
Там много теории, но мало практики.
А Вы хотели, чтобы учебники из одних листингов состояли что ли?
nd2
2130 / 1702 / 601
Регистрация: 29.01.2016
Сообщений: 5,493
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
Падаван С++
399 / 219 / 57
Регистрация: 11.11.2014
Сообщений: 764
Завершенные тесты: 2
13.10.2016, 20:17     Объявление итератора и его использование #7
Цитата Сообщение от Sifors Посмотреть сообщение
Там много теории, но мало практики.
быть "код манки" не лучшая практика тоже, без теории далеко не уехать, в любом деле нужно сочетать и то, и другое
Croessmah
Модератор
Эксперт CЭксперт С++
13057 / 7320 / 817
Регистрация: 27.09.2012
Сообщений: 18,066
Записей в блоге: 3
Завершенные тесты: 1
14.10.2016, 09:41     Объявление итератора и его использование #8
Цитата Сообщение от Sifors Посмотреть сообщение
но не знаю как с его помощью
А вот для этого уже и теорию почитать не помешает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2016, 10:27     Объявление итератора и его использование
Еще ссылки по теме:
C++ Класс Tcanvas. Его использование
Маccив->Статический вызов -> и его использование C++
__stdcall в файле Dll и его использование в екселе C++
Реализация алгоритма Sha224 и использование его в программе C++
Пересоздание массива в функции и дальнейшее его использование в main C++

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

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

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