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