Операторы C++

Согласно принятой нами терминологии, любое законченное предложение на языке C++ называется оператором. Рассмотрим множество БНФ, определяющих синтаксис операторов.

Оператор ::= ОператорВыражение
         ::= Объявление
         ::= СоставнойОператор
         ::= ПомеченныйОператор
         ::= ОператорПерехода
         ::= ВыбирающийОператор
         ::= ОператорЦикла
ОператорВыражение ::= [Выражение];

Судя по последней форме Бэкуса-Наура, любое правильно построенное выражение (построенное по правилам грамматики), заканчивающееся точкой с запятой, является оператором C++.

Мы уже второй раз сталкиваемся с пустым оператором (достаточно внимательно посмотреть на последнюю форму Бэкуса-Наура). Первый раз мы встретили пустой оператор при анализе объявления. Ничего удивительного. Объявление - это тоже оператор.

Пустой оператор имеет особое назначение. Он используется везде, где по правилам синтаксиса обязательно требуются операторы, а по алгоритму раазрабатываемой программы не нужно ни одного. Эти ситуации подробно будут рассмотрены ниже.

Оператор объявления мы уже рассмотрели ранее. На очереди - составной оператор.

СоставнойОператор ::= {[СписокОператоров]}

Что такое список операторов - также уже известно. Судя по последней БНФ, составной оператор (даже пустоой) всегда начинается разделителем { и завершается разделителем }. Кроме того, составной оператор может быть абсолютно пустым (между двумя фигурными скобками может вообще ничего не стоять).

Так что конструкция

{};

однозначно воспринимается транслятором как последовательность, состоящая из двух операторов - пустого составного оператора и простого пустого.

Назад | Содержание | Вперед