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. Устройство, преимущества и недостатки. ✅ ✅