Habr<p>Компиляция на этапе выполнения в C++: constexpr, consteval и constinit</p><p>Сегодня мы поговорим о том, как constexpr , consteval , и constinit позволяют реализовывать компиляцию на этапе выполнения. Компиляция на этапе выполнения позволяет ускорить выполнение кода за счет выполнения расчетов на этапе компиляции, а не в рантайме. constexpr делает возможным вычисление значений переменных во время компиляции. Функции и переменные, объявленные с этим ключевым словом, могут быть вычислены на этапе компиляции consteval усиливает концепцию constexpr , требуя обязательного вычисления выражений во время компиляции. constinit используется для инициализации статических и глобальных переменных. А теперь подробней.</p><p><a href="https://habr.com/ru/companies/otus/articles/801045/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/otus/art</span><span class="invisible">icles/801045/</span></a></p><p><a href="https://zhub.link/tags/C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>C</span></a>++ <a href="https://zhub.link/tags/%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>компиляция</span></a> <a href="https://zhub.link/tags/constexpr" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>constexpr</span></a> <a href="https://zhub.link/tags/consteval" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>consteval</span></a> <a href="https://zhub.link/tags/constinit" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>constinit</span></a></p>