Страницы

Поиск по вопросам

вторник, 25 декабря 2018 г.

Использование const и constexpr

В каком классе задач предпочтительнее использовать constexpr? У меня создалось впечатление, что практически всегда я могу использовать const. Когда требуется задавать значение на этапе компиляции?


Ответ

У методов const подразумевает compile-time проверку на отсутствие модифицации (и таких возможностей, например, возвращение неконстантного указателя) состояния типа, исключая mutable-поля. Само выражение может вычисляться и в run-time.
constexpr же позволяет помечать выражения, которые обязательно вычисляются на этапе компиляции и могут использоваться, скажем, в качестве параметров шаблонов, или в инициализаторах констант.

Комментариев нет:

Отправить комментарий