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