Информация для студентов
Ссылки на ресурсы по проблемам утечки памяти
Основы
создания классов.
Дружественные функции. Перегрузка операций.
Виды конструкторов. Return Value Optimization (RVO). Функции-члены, которые генерируются автоматически. Уровни безопасности. Идиома copy-and-swap.
Перегрузка преобразования типов. Статические члены класса. move-семантика (конструктор и присваивание).
Открытое наследование, включение
Полиморфизм. Виртуальные методы. Абстрактные классы. Полиморфные контейнеры
RTTI, dynamic_cast, typeid, закрытое
наследование, шаблоны: инстанцирование, явная специализация, параметры шаблонов. Коллекции и итераторы
Коллекции и итераторы. Линейный список и итератор для него. Реализация функций с параметрами-итераторами. Шаблон класса matrix для представления матрицы как вектора, элементами которого являются векторы. Классы для рекурсивных типов данных.
Стандартная библиотека шаблонов: введение. Требования к контейнерам и к элементам контейнера. Последовательные контейнеры
Ассоциативные контейнеры. Основные типы итераторов
Итераторы ввода/вывода. Однонаправленный Однонаправленные и двунаправленные итераторы. Итераторы произвольного доступа.
Алгоритмы STL. Алгоритмы, немодифицирующие последовательность. Алгоритмы,
модифицирующие последовательность. Захват
переменных из внешнего контекста. Объекты функции (функторы).
Умные указатели
Реализация
итератора для двусвязного списка