
Ваня Ходор
Яндекс
Активность не записывалась
Lightning talks — это отличный формат, чтобы динамично обсудить тему и найти единомышленников. Вас ждут 20-минутные доклады на профессиональные темы и живые обсуждения.
Расскажу про (N)RVO в C++. Покажу случаи, когда она работает, а когда нет. Приведу примеры того, как можно понять, работает ли эта «оптимизация» в вашем коде и как, для уверенности, ее можно задетектить с помощью исследования AST Clang. Дам рекомендации, как писать код максимально эффективно с точки зрения этих особенностей C++.
Доклад будет полезен каждому разработчику на C++. Поможет понять эту «оптимизацию» чуть глубже и больше не думать про то, стоит ли перемещать объект при return, чтобы все было эффективно.
Расскажу, как расширенный набор типов позволяет проверять программу на корректность. Как эти типы могут быть абстрагированы с помощью параметризованных типов и как параметры параметризованных типов могут сигнализировать контекст, в котором допустимо использовать данное значение.
Для примера буду использовать процесс создания графического редактора на C++, но конкретная прикладная задача не имеет непосредственного отношения к теме выступления.
На примере создания внутреннего языка программирования продемонстрирую практическую сторону использования библиотеки LLVM. Предложу новый слой абстракции поверх нее, упрощающий создание компилятора. Разберу основные плюсы и минусы подхода.

Яндекс

Независимый эксперт

Optimacros
