План лекций по курсу Стандартная библиотека C++ 2009/10

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск

Лекция 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

Стоимость основных операций в контейнерах.

Понятие итератора контейнера. Реализация итераторов для вектора и списка. Представление о реализации итератора для множества.

Общие контейнерные операции (по листику).