пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Константы и константные выражения

В нескольких местах C++ требует выражения, вычисление которых дает константу: в качестве границы массива (здесь), в case выражениях (этот пункт), в качестве значений параметров функции, присваиваемых по умолчанию, (здесь), и в инициализаторах (этот пункт). В первом случае выражение может включать только целые константы, символьные константы, константы, описанные как имена, и sizeof выражения, возможно, связанные бинарными операциями 


        +       -       *       /       %      &        |       ^         <<        >>       ==      !=         < >        <= >       =        &&         ||


или унарными операциями 

      
            -       ~         !


или тернарными операциями 


       ?         :


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


Большая широта допустима для остальных трех случаев использования; помимо константных выражений, обсуждавшихся выше, допускаются константы с плавающей точкой, и можно также применять унарную операцию & к внешним или статическим объектам, или к внешним или статическим массивам, индексированным константным выражением. Унарная операция & может также быть применена неявно с помощью употребления неиндексированных массивов и функций. Основное правило состоит в том, что инициализаторы должны при вычислении давать константу или адрес ранее описанного внешнего или статического объекта плюс или минус константа. 


Меньшая широта допустима для константных выражений после #if: константы, описанные как имена, sizeof выражения и перечислимые константы недопустимы. 


27.12.2014; 10:49
хиты: 172
рейтинг:0
Точные науки
информатика
Языки программирования
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2025. All Rights Reserved. помощь