Программирование на C++, часть 2

Санкт-Петербург, весна 2018

Описание

Этот курс – продолжение курса Программирование на C++, часть 1. Весенний семестр будет состоять из трёх частей:

  1. Продвинутые возможности C++: множественное наследование, преобразования в стиле C++, RTTI, пространства имён и пр.

  2. Стандарты C++11 и С++14.

  3. Стандартная библиотека шаблонов.

  4. Обработка ошибок.

  5. Многопоточность и метапрограммирование.

В среднем лекция занимает два часа, т.е. заканчивается к 20:30, но могут быть незначительные отклонения в обе стороны.

Оценка выставляется по результатам домашних заданий, всего будет три домашних задания за семестр. Для получения оценки нужно пройти вторую часть онлайн-курса и сдать не менее двух домашних задания. Для получения оценки 4 достаточно сдать два домашних задания, для получения оценки 5 — нужно сдать все три домашних задания.

Преподаватели

Список лекций

Множественное наследование, С++ касты и RTTI

Представление в памяти. Вызов конструкторов. Разрешение имён, перегрузка виртуальных функций. Несколько таблиц вирт. функций. Преобразование указателей. Виртуальное наследование.

Преобразования в стиле C++: static_cast, const_cast, reinterpret_cast, dynamic_cast. Преимущества над преобразованиями в стиле C. В каких случаях преобразование в стиле C приводит к ошибкам (множественное наследование).

Нововведения C++11 и C++14

О стандартизации C++. Различные нововведения: вывод типов, шаблоны с переменным числом аргументов, лямбда выражения и пр.

Ещё о нововведениях C++11 и C++14

Подробный разбор семантики перемещения и других новых возможностей стандартов C++11 и C++14.