Источники: by y’24 co by @EmmaMoshk metanit (C++)

1. Ссылки. Разница между ссылкой и указателем. Зачем в С++ были добавлены ссылки.

2. ООП. Базовые принципы. Абстракция, инкапсуляция, наследование, полиморфизм. SOLID

3. ООП. Классы. Устройство в памяти. Инкапсуляция. Модификаторы доступа. Наследование. Множественное наследование. Проблемы множественного наследование.

4. ООП. Классы. Инициализация и уничтожение. Виды конструкторов. Виртуальные методы. Таблица виртуальных функций. Виртуальные деструкторы.

5. ООП. Операторы. Перегрузка операторов.

6. Исключения. Обработка ошибок в Си. Assert. Исключения. Преимущества и недостатки исключений.

7. Шаблоны. Шаблоны функций, классов.

8. Шаблоны. Частичная специализация и полная специализация.

9. Variadic template

10.Преобразования типов. Явные и неявные. С-cast, static_cast, dynamic_cast, const_cast, reinterpret_cast. CRTP

11. Стандартная библиотека. Итераторы. Алгоритмы. Основные классы алгоритмов.

12.Стандартная библиотека. Контейнеры. Последовательные контейнеры.

13.Стандартная библиотека. Контейнеры. Ассоциативные контейнеры.

14.Стандартная библиотека. Адаптеры.

15.Умные указатели. auto_ptr, unique_ptr, shared_ptr, weak_ptr. Устройство, преимущества и недостатки.