Sobes.tech
Назад к вопросам
Junior — Middle
80

Можете ли вы объяснить, что означает ключевое слово constexpr в языке C++?

Компании, где спрашивали
МТСМТС

Ответ от нейросети

sobes.tech AI

Ключевое слово constexpr в C++ используется для указания, что функция или переменная могут быть вычислены на этапе компиляции. Это позволяет повысить производительность и гарантировать, что значение будет известно во время компиляции.

Особенности constexpr:

  • Для переменных: объявляет константу, значение которой вычисляется во время компиляции.
  • Для функций: функция может быть вызвана в контексте, где требуется константное выражение (например, размер массива).
  • Функции constexpr должны содержать только один return и быть достаточно простыми, чтобы компилятор мог вычислить результат на этапе компиляции.

Пример:

constexpr int square(int x) {
    return x * x;
}

int arr[square(5)]; // Размер массива вычисляется во время компиляции

Если функция вызывается с константными аргументами, результат будет вычислен на этапе компиляции. Если с переменными — функция будет работать как обычная.