Sobes.tech
Junior — Middle
100

Czy możesz wyjaśnić, co oznacza słowo kluczowe constexpr w języku C++?

Firmy, w których zadano pytania
МТСМТС

Odpowiedź od AI

sobes.tech AI

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

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

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

Пример:

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

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

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