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

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

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

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

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

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

Безопасное использование итератора С++ - C++
перебираем в цикле контейнер: for (auto it = A.begin(); it != A.end(); ++it) потом где то внутри удаляем его элемент, при чем не...

Использование итератора в двусвязном списке - C++
Всем добрый день/вечер. Я сегодня уже обращался к форумчанам за помощью, и мне помогли, но видать я совсем тупой :( Мне помогли через...

Использование потокового итератора для пользовательских обьектов - C++
Надо с помощю итератора ofstream_iterator вывести содержимое множины, в которой есть обьекты пользовательського типа. Вот что я пока...

Динамические массивы: Объявление, использование, изменение размерности - C++
Только начал писать на С++. Подскажите как работать с динамическими массивами? Объявление, использование, изменение размерности. или ссылку...

Оператор приведения и его объявление - C++
Всем привет! Прошу помощи в разъяснении теории: Есть класс А и B, в классе B есть оператор приведения к А, а в классе А...

Объявление класса без его реализации - C++
Добрый день! Я (вроде бы) знаю как объявлять класс, не подключая его в хедере class MyClass; ... public: myFunc(MyClass);

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nd2
2248 / 1819 / 635
Регистрация: 29.01.2016
Сообщений: 5,865
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/
0
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
13.10.2016, 07:37 #3
Цитата Сообщение от Sifors Посмотреть сообщение
Как правильно объявлять итератор?
Вы имеете в виду итератор STL-контейнера или самописного?
Цитата Сообщение от Sifors Посмотреть сообщение
В каких случаях используется?
Для доступа к элементам контейнера-последовательности.
Цитата Сообщение от Sifors Посмотреть сообщение
Можно ли через итератор получить доступ к элементу вектора(записать, изменить, удалить), если да то как?
Как с помощью итератора выполнять какие либо операции(как выше)?
Итератор - это обобщение указателя, операции те же самые. У каждого контейнера есть функция begin(), которая возвращает итератор на первый элемент. Далее работаете с ним как с указателем. Есть еще функция end(), которая возвращает итератор, указывающий на элемент за последним. При обходе контейнера инкрементируем итератор до тех пор, пока он не станет равным end().
Цитата Сообщение от Sifors Посмотреть сообщение
Долго искал в интернете
А в учебники не пробовали заглядывать?
0
Sifors
2 / 2 / 0
Регистрация: 28.09.2016
Сообщений: 66
13.10.2016, 19:58  [ТС] #4
Цитата Сообщение от Mr.X Посмотреть сообщение
А в учебники не пробовали заглядывать?
Там много теории, но мало практики.
Я знаю как объявить итератор, но не знаю как с его помощью, к примеру записать в вектор(из 10) цифру 8 в 3 элемент.
Как я не пытался у меня не получалось, поэтому я сказал, что меня интересуют простые примеры.
0
GbaLog-
Любитель чаепитий
2768 / 1290 / 311
Регистрация: 24.08.2014
Сообщений: 4,570
Записей в блоге: 1
Завершенные тесты: 2
13.10.2016, 19:59 #5
Цитата Сообщение от Sifors Посмотреть сообщение
Там много теории, но мало практики.
А Вы хотели, чтобы учебники из одних листингов состояли что ли?
0
nd2
2248 / 1819 / 635
Регистрация: 29.01.2016
Сообщений: 5,865
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;
1
obivan
Падаван С++
401 / 221 / 58
Регистрация: 11.11.2014
Сообщений: 770
Завершенные тесты: 2
13.10.2016, 20:17 #7
Цитата Сообщение от Sifors Посмотреть сообщение
Там много теории, но мало практики.
быть "код манки" не лучшая практика тоже, без теории далеко не уехать, в любом деле нужно сочетать и то, и другое
0
Croessmah
Эксперт CЭксперт С++
13209 / 7480 / 841
Регистрация: 27.09.2012
Сообщений: 18,388
Записей в блоге: 3
Завершенные тесты: 1
14.10.2016, 09:41 #8
Цитата Сообщение от Sifors Посмотреть сообщение
но не знаю как с его помощью
А вот для этого уже и теорию почитать не помешает.
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6467 / 3115 / 306
Регистрация: 04.12.2011
Сообщений: 8,590
Записей в блоге: 4
14.10.2016, 10:27 #9
Sifors, если Вы только начинаете, то пробовать работать с итератором наподобие того как с полноценным типом не советую. Потратите много нервов и времени.
Однако, если хорошо знаете указатели, то ознакомиться с указателями как с зависимым типом, необходимо. Тут нужно читать доки. Итераторов существует несколько видов: произвольные, последовательные (одно/двунаправленные), реверсные. И все они могут быть константными или нет. Есть что учить.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2016, 10:27
Привет! Вот еще темы с ответами:

Прблемы с Шаблонами: Конструктор с параметрами, объявление итератора. - C++
Добрый день. Начал изучать шаблоны и сразу же возникло 2 проблемы: 1).На Строке в мейне SArr&lt;short&gt; ar1(100); Выдается ошибка...

Подскажите простую реализацию динамического массива и его использование с возможностью изменения его размера - C++
Подскажите простую реализацию динамического масива и его использование с возможностью изменения его размера........спасибо))) ...

Класс Tcanvas. Его использование - C++
Можно ли работать с классом TCanvas в Visual Studio 2010 ??? Заранее Спасибо !!

Маccив->Статический вызов -> и его использование - C++
Помогите исправить ошибку. Суть в том, выводим массив, копируем его два раза. Нужно это копирование использовать и вывести отсортированный...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.10.2016, 10:27
Ответ Создать тему
Опции темы

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