Изменения

Перейти к: навигация, поиск

C++(3 семестр)

4315 байт добавлено, 19:31, 4 сентября 2022
м
rollbackEdits.php mass rollback
{{в разработке}}
==1 часть==
===Наследование.===
 
===Виртуальные функции, абстрактные функции.===
===Таблица виртуальных функций.===
===Виртуальный деструктор.===
===Множественное наследование.===
===Модификаторы доступа для наследования.===
===Виртуальное наследование.===
===Порядок инициализации при создании объекта.===
===Pure virtual function call, __declspec(novtable).===
===Ковариантность типа возвращаемого значения.===
===Приведение типов: static_cast, dynamic_cast, const_cast, reinterpret_cast;===
===RunTime Type Information.===
===Templates: функции и классы.===
===Полная (explicit) и частичная (partial) специализация.===
===Compile-time объекты. ===
===Разница между специализацией и перегрузкой функции. ===
===Template arguments deduction, partial ordering для специализаций.===
===Правила инстанциирования. ===
===Двухфазный lookup имен: по не зависящим от параметров (independent) и зависимым (dependent) именам. ===
===Ключевое слово typename при обращении к dependent именам. ===
===Отложенный парсинг шаблонных функций компилятором Microsoft (Сорокин обещал давать на экзамене задание на эту тему).===
===Два подхода к инстанциированию: Cfront – инстанциирование по ошибкам линковки (перелинковка, export template), Borland – инстанциирование везде, но с пометкой inline. Явное инстанциирование, подавление истанциирования. ===
===SFINAE (substitution failure is not an error).===
===Overload resolution, conversion sequence. ===
===Tag dispatching.===
===Namespace. ===
===Global namespace.===
===Директива using namespace.===
===Порядок поиска в пространствах имен.===
===Using декларация. ===
===Анонимный namespace. ===
===Argument-dependent lookup (Koenig lookup).===
===STL. Контейнеры, итераторы, алгоритмы. ===
===Контейнеры: sequence, associative. ===
===Итераторы: input, output, forward, bidirectional, random access. ===
===Reverse итераторы. ===
===Range. ===
===Концепторы, функторы.===
==2 часть==
===Дерево развития С++===
===RAII. Scoped_ptr, shared_ptr, make_shared<T>, unique_ptr, make_unique<T>, linked_ptr. Inode.===
===Реальный код, генерируемый компилятором. Return value optimizations. Move, rvalue ссылки. Perfect forwarding. Reference collapsing rule.===
===Анонимные функции (lambda).===
===Type erasure. Any, any_cast: с использованием dynamic_cast, с использованием static поля.===
===Механизм сигналов и слотов на примере Boost. Понятие reentrancy.===
===SSE оптимизации, strict aliasing rule, restrict.===
===Обработка ошибок, исключения в деструкторе.===
===Кодировки семейства Unicode. Графема, глиф. Code point, combining character. Code unit. UTF-8, overlong sequence. UTF-16, surrogate pair.===
===Системы сборки. Make, make-files. Особенности make. Генераторы make-файлов. Cmake.===
===Нововведения С++11: auto, decltype, anonymous functions, static_assert, range_based for, non-static members initialization, delegating constructors, inherited constructors, variatic templates, extern template, raw string literals, template aliases, constexpr. ===
===Нововведения С++14: template anonymous functions, ослабление условий на constexpr, расширение STL, tuple.===
1632
правки

Навигация