Курс о языке, который ничего не делает за вас – и именно поэтому позволяет всё.
Начинаем не с синтаксиса, а с того, что происходит между исходным файлом и работающей программой: препроцессор, компиляция, компоновка. Половина непонятных ошибок в C++ – это ошибки не языка, а сборки, и без этой картины их не прочитать. Дальше – память: стек, куча, указатели, ссылки. Здесь язык не подстраховывает, зато видно, из чего вообще сделаны программы.
Вторая половина – про то, как строить из этого конструкции: структуры и классы, время жизни объекта и RAII, наследование и виртуальные методы, перегрузка операторов, шаблоны.
Примеры – на современном C++ (стандарты 17 и 20): auto, умные указатели, инициализация
списком. Там, где сравнение с другим языком объясняет тему быстрее слов, у листинга есть
вкладки: C#, Go, Python.
Курс не про алгоритмы и не про проектирование. Он про механику: где лежат данные, кто их освобождает и во что превращается написанная строчка. Проектированию классами посвящён курс «Объектно ориентированное программирование».