Поделиться через


Постоянные выражения C++

В C++ требуются константные выражения, то есть выражения, результатом вычисления которых является константа, для объявления следующих элементов.

  • Границы массива.

  • Селекторы в операторах case.

  • Спецификация длины битового поля.

  • Инициализаторы перечисления.

Ниже перечислены единственные допустимые операнды в константных выражениях.

  • Литералы

  • Константы перечисления.

  • Значения, объявленные как константы, которые инициализированы с константными выражениями.

  • Выражения sizeof.

Нецелочисленные константы должны преобразовываться (явно или неявно) в целочисленные типы, чтобы быть допустимыми в константном выражении. Поэтому следующий код допустим.

const double Size = 11.0;
char chArray[(int)Size];

Явные преобразования в целочисленные типы допустимы в константных выражениях; все другие типы и производные типы недопустимы, за исключением случаев использования в качестве операндов оператора sizeof.

Запятую-оператор и операторы присваивания невозможно использовать в константных выражениях.

См. также

Ссылки

Типы выражений