Каково назначение ключевого слова constexpr в C++ и как оно используется?

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Основные моменты использования constexpr:

  • constexpr функции должны содержать только выражения, которые могут быть вычислены во время компиляции.
  • Такие функции можно использовать для инициализации константных выражений, например, в определениях массивов или шаблонов.
  • Начиная с C++14, constexpr функции могут содержать более сложные конструкции, включая циклы и ветвления.

Пример:

constexpr int factorial(int n) {
    return n <= 1 ? 1 : (n * factorial(n - 1));
}

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

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

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку