План лекций по курсу Стандартная библиотека C++ 2009/10 — различия между версиями
Admin (обсуждение | вклад) |
Avalanche (обсуждение | вклад) |
||
Строка 21: | Строка 21: | ||
Общие контейнерные операции (по листику). | Общие контейнерные операции (по листику). | ||
+ | |||
+ | [[Категория:Стандартная библиотека C++]] |
Текущая версия на 14:31, 23 сентября 2009
Лекция 1 (01.09.09)
Шаблоны функций (на примере max). Где их определять. Два этапа компиляции шаблона. Мощь и проблемы шаблонов C++, пути решения. Специализация шаблона, инстанцирование, выведение. max(2.3,5). Способы решения проблемы: введение в шаблон дополнительных типов (плохо) и явное указание параметров шаблона (хорошо). Явная специализация шаблона для char*.
Алгоритм выбора версии перегруженной функции.
Полезные шаблоны функций. copy, find, find_if, foreach.
Диапазон. Понятие. Удобство диапазонов. Проблемы диапазонов.
Особенности стандартной библиотеки шаблонов:
- отсутствие наследования;
- итераторы, диапазоны итераторов;
- незащищенность кода на этапе выполнения.
Лекция 2 (15.09.09)
Контейнеры стандартной библиотеки: vector, list, stack, queue, dequeue, priorityqueue, set, map, multiset, multimap
Стоимость основных операций в контейнерах.
Понятие итератора контейнера. Реализация итераторов для вектора и списка. Представление о реализации итератора для множества.
Общие контейнерные операции (по листику).