Сергей Добычин
Компания: VK
Одна из главных фич, которая выделяет С++ среди других языков — константные вычисления. С каждым новым стандартом языка поддержка константных вычислений становится все более продвинутой.
В С++ 20 появились аллокации памяти в constexpr-выражениях, и стало возможным использовать std::vector
и std::string
в константных выражениях.
Но есть одно но: использовать их можно только внутри constexpr, из constexpr-функции нельзя вернуть std::string
или std::vector
.
В докладе рассмотрим, как, используя только лишь возможности С++23, написать аллокатор, с помощью которого можно реализовать top-level constexpr std::string
, std::vector
и остальные контейнеры стандартной библиотеки.
Компания: VK