Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / C / C++ / Справочное руководство по С++ /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Константные выражения - Программирование от RIN.RU
Константные выражения

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


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


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


- ~ !


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


? :


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


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


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




 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Договоренности о лексике

Запись синтаксиса

Имена и типы

Объекты и LVALUE(адреса)

Преобразования

Выражения

Описания

Операторы

Внешние определения

Командные строки компилятора

Обзор типов

Соображения мобильности

Свободная память

Краткое изложение синтаксиса

Отличия от "старого C"

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь