Лекция Стандартные итераторы и алгоритмы План
Download 207,3 Kb. Pdf ko'rish
|
Zadacha2(Контейнеры)
- Bu sahifa navigatsiya:
- Лекция 5. Стандартные итераторы и алгоритмы План
- Инкремент // Префиксный инкремент итератора (ХОРОШО!) for
Контейнеры (Коллекции). STL-библиотеки. Классы контейнеров. Линейные контейнеры (массив, вектор, очередь, список, список пересылок). Ассоциативные и неупорядоченные ассоциативные контейнеры. Ассоциативные и неупорядоченные ассоциативные контейнеры Контейнеры (Коллекции). STL-библиотеки. Классы контейнеров. Линейные контейнеры (массив, вектор, очередь, список, список пересылок). Ассоциативные и неупорядоченные ассоциативные контейнеры. Ассоциативные и неупорядоченные ассоциативные контейнеры. Лекция 5. Стандартные итераторы и алгоритмы План Итераторы и алгоритмы Итераторы Алгоритмы Работа с интервалами Итераторные адаптеры Удаление элементов Функторы Умные указатели 1.1 Итераторы Итератор - объект, предназначенный для перебора элементов контейнера STL (всех или некоторого подмножества). Итератор представляет некоторую позицию в контейнере. Полуоткрытый интервал обладает двумя достоинствами: появляется простое условие завершения перебора в контейнере: цикл продолжается до тех пор, пока не будет достигнута позиция end() предотвращается специальная обработка пустых интервалов, поскольку в пустом интервале begin() совпадает с end() Пример using namespace std; int main() { list // Присоединение элементов от 'a' до 'z' for (char c='a'; c<='z'; ++c) { coll.push_back(c); } // Вывод содержимого списка // - перебор всех элементов. list for (pos = coll.begin(); pos != coll.end(); ++pos) { cout << *pos << ' '; } } Константный итератор В каждом контейнере определены два типа итераторов: контейнер::iterator – используется для перебора элементов в режиме чтения/записи (аналог T*) контейнер::const_iterator – используется для перебора элементов в режиме чтения (аналог const T*) Инкремент // Префиксный инкремент итератора (ХОРОШО!) for (pos = coll.begin(); pos != coll.end(); ++pos) {...} // Постфиксный инкремент итератора (ПЛОХО!) for (pos = coll.begin(); pos != coll.end(); pos++) {...} Категории итераторов Двунаправленный итератор - может перемещаться в двух направлениях: в прямом (оператор ++) и обратном (оператор --). Итераторы контейнерных классов list, set, multiset, map и multimap являются двунаправленными. Download 207,3 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling