Разбираемые темы:
1. Введение (теория –15 мин).
- Знакомство;
- Правила проведения тренинга;
- Краткий обзор тем и методологии.
2. Функциональные объекты (теория – 2 ч, практика – 45 мин).
- Краткое обсуждение обобщенного программирования и вызываемых объектов;
- Взаимодействие функций с STL;
- Преобразование различных типов функций (адаптеры функций).
3. Контейнеры (теория –11 ч, практика 4 ч).
Это основная тема тренинга. Визуальное представление, подробности реализации, сценарии использования, тупиковые ситуации и обзор операций для всех контейнеров. Классификация контейнеров.
1. Контейнеры последовательности (теория 4 часа 30 минут, практика 1 час);
- Common (общие);
- Vector (векторные);
- List (список);
- Forward list (список отправки);
- Deque (двухсторонняя очередь);
2. Адаптеры контейнеров (теория 1 час 30 минут, практика 30 минут);
3. Упорядоченные ассоциативные (теория 1 час 40 минут, практика 20 минут);
4. Неупорядоченные ассоциативные (теория 2 часа, практика 1 час 30 минут);
5. Псевдоконтейнеры (теория 1 час 20 минут, практика 40 минут).
4. Итераторы (теория - 2 ч, практика – 1 ч 30 мин).
- Итерационная модель, классы, свойства и операции итераторов;
- Реализация потоковых итераторов и адаптеров итераторов.
5. Алгоритмы (теория - 4 ч 50 мин, практика - 2 ч 40 мин).
В этой части тренинга мы продолжим обсуждение новых элементов STL. Будем много практических заданий, схем и обсуждений. Дается обзор алгоритмов, рассказывается о немодифицирующих и модифицирующих алгоритмах последовательности, сортировке и поиске, численных алгоритмах, а также обсуждается будущее алгоритмов.
- Обзор алгоритмов (теория 15 минут);
- Немодифицирующие алгоритмы (теория 1 час, практика 30 минут);
- Модифицирующие алгоритмы (теория 3 часа, практика 1 час 30 минут);
- Сортировка и поиск (теория 40 минут, практика 20 минут);
- Численные алгоритмы (теория 40 минут, практика 20 минут);
- Бонус: будущее уже здесь (теория 15 минут).