|
4 / 4 / 0
Регистрация: 27.12.2010
Сообщений: 56
|
|
Итератор ?16.08.2011, 16:27. Показов 9985. Ответов 40
Метки нет (Все метки)
Как выглядит итератор на вложеный контейнер? Например осуществить доступ к 1-му символу 3-го элемента в векторе vector< <vecrot<char> > vec через индекс можно так vec[2][0]. А как через итератор?
0
|
|
| 16.08.2011, 16:27 | |
|
Ответы с готовыми решениями:
40
Реализовать двусвязный список (list), итератор (iterator) и константный итератор (сonst_iterator) для списка итератор Итератор |
|
Заблокирован
|
|
| 16.08.2011, 16:35 | |
|
0
|
|
|
4 / 4 / 0
Регистрация: 27.12.2010
Сообщений: 56
|
|
| 16.08.2011, 16:45 [ТС] | |
|
А вот так правильно: vec.begin()+2.begin() ? Что бы без индекса?
0
|
|
|
Заблокирован
|
|
| 16.08.2011, 16:48 | |
|
( *( vec.begin() + 2 ) ).begin();
2
|
|
|
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
|
|
| 16.08.2011, 16:49 | |
|
обращение к 4 элементу 3-го вектора примерно так:
*((vec.begin()+3)->begin()+4 ) = 10;
2
|
|
|
4 / 4 / 0
Регистрация: 27.12.2010
Сообщений: 56
|
|
| 16.08.2011, 16:52 [ТС] | |
|
Всем большое спасибо!
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 16.08.2011, 16:58 | |
|
Итераторы предназначены ИСКЛЮЧИТЕЛЬНО для последовательного доступа.
Остальное - специфика.
0
|
|
|
Заблокирован
|
|
| 16.08.2011, 17:03 | |
|
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||
| 16.08.2011, 17:34 | ||
|
Остальное - специфика.
0
|
||
|
Заблокирован
|
|
| 16.08.2011, 17:36 | |
|
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 16.08.2011, 17:38 | |
|
0
|
|
|
Заблокирован
|
||
| 16.08.2011, 17:42 | ||
|
0
|
||
|
|
|||
| 16.08.2011, 17:44 | |||
![]() Особенно, если вспомнить такие, как on-die termination, hot swap/hot plug, etc. Можно еще функтор вспомнить, так в C++ вообще беспредел с определением функтора. И кстати, я думаю, тут более уместно было бы сказать, что итератор предназначен для последовательного (итеративного) применения, например в циклах, а не то чтобы итератор может быть только последовательного доступа.
0
|
|||
|
Заблокирован
|
|
| 16.08.2011, 17:54 | |
|
На самом деле итератор - это шаблонный класс, моделирующий указатели. А для указателей, как известно, действует арифметика указателей, то есть произвольный доступ.
И итераторы именно появились из-за того, что появилась необходимость моделировать указатели для последовательностей, к которым встроенные указатели не подходят. Как я уже сказал, в самом начале главы "Итераторы" стандарта, дается развернутое пояснение, что такое итераторы, и для чего они созданы. Там не говорится ни о каком "исключительно последовательном доступе". Поэтому там вводятся категории итераторов. То есть главный смысл понятия итераторов - это моделирование указателей. То есть нельзя сказать, что итераторы используются исключительно для последовательного доступа. Иначе сразу же вылетают многие алгоритмы, начиная с простого алгоритма swap.
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|||
| 16.08.2011, 18:26 | |||
|
Добавлено через 1 минуту Добавлено через 59 секунд v.begin() v.begin()+1 v.begin()+2 Тоже последовательный доступ при помощи итераторов
0
|
|||
|
Заблокирован
|
||
| 16.08.2011, 18:27 | ||
|
И это не последовательный доступ, а произвольный доступ. Так как у итераторов последовательного доступа не операции сложения с целочисленным значением! У вас каша в голове! И полное незнание главы стандарта Итераторы.
0
|
||
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||||||||||||
| 16.08.2011, 22:14 | ||||||||||||
Сообщение было отмечено как решение
Решение
3
|
||||||||||||
|
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
|
|||||||||||
| 17.08.2011, 01:36 | |||||||||||
|
Mr.X, интересное замечание. но это всё таки читерство, т.к юзается [] .
а вообще
0
|
|||||||||||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
||
| 17.08.2011, 02:04 | ||
|
как бы там ни было основная идея итератора - обход контейнера без раскрытия особенностей его реализации, не важно ++ это, java или c# или еще бог весть что
0
|
||
| 17.08.2011, 02:04 | |
|
Помогаю со студенческими работами здесь
20
итератор Итератор Итератор Итератор!!!!! Итератор С++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|