logo
volkov / C++ / Бьерн Страуструп-Справочное руководство по С++

R.5.19 Выражения-константы

В нескольких местах описания С++ требуются выражения, которые

дают в результате целочисленную константу, например: в задании границ

массива ($$R.8.2.4), в выражениях case ($$R.6.4.2),

для задания длины битового поля ($$R.9.6) и как инициализирующее

значение элемента перечисления ($$R.7.2).

выражение-константа:

выражение-условия

В конструкции выражение-константа могут участвовать: литералы

($$R.2.5), элементы перечисления, значения целочисленного типа со

спецификацией const, инициализированные выражением-константой

($$R.8.4) и выражения sizeof. Константы с плавающей точкой ($$R.2.5.3)

должны быть приведены к целочисленному типу. Допустимы только

преобразования типа к целочисленному типу. В частности не допустимы

функции, объекты классов, указатели и ссылки, если не считать их

использования в sizeof. Операция запятая и операция присваивания

не допустимы в выражении-константе.