Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
programma_po_oit_otvety.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
2.19 Mб
Скачать

Бинарные и унарные операции

 Бинарную операцию можно определить как функцию-член с одним  параметром, или как глобальную функцию с двумя параметрами. Значит,  для любой бинарной операции @ выражение aa @ bb интерпретируется  либо как aa.operator(bb), либо как operator@(aa,bb). Если определены обе  функции, то выбор интерпретации происходит по правилам сопоставления  параметров ($$R.13.2). Префиксная или постфиксная унарная операция  может определяться как функция-член без параметров, или как глобальная  функция с одними параметром. Для любой префиксной унарной операции  @ выражение @aa интерпретируется либо как aa.operator@(), либо как  operator@(aa). Если определены обе функции, то выбор интерпретации  происходит по правилам сопоставления параметров ($$R.13.2). Для  любой постфиксной унарной операции @ выражение @aa интерпретируется  либо как aa.operator@(int), либо как operator@(aa,int). Подробно  это объясняется в $$7.10. Если определены обе функции, то выбор  интерпретации происходит по правилам сопоставления параметров  ($$13.2). Операцию можно определить только в соответствии с  синтаксическими правилами, имеющимися для нее в грамматике С++.  В частности, нельзя определить % как унарную операцию, а + как  тернарную. Проиллюстрируем сказанное примерами:

Рисунок 1.3.1. Таблица приоритетов С++

Алфавит языка

Алфавит языка — это тот набор знаков (символов), который допустим в данном языке. Такое определение справедливо и для языка человека, и для языков программирования.

В языке С++ алфавит можно подразделить на следующие группы знаков:

  • прописные и строчные латинские буквы (A, B, ..., Z, a, b, ..., z);

  • арабские цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);

  • специальные знаки: " , { } | [ ] ( ) + - / % \ ; ' . : ? < = > _ ! & * # ~ ^

  • пробельные символы — это символы пробела, табуляции, перехода на новую строку.

  1. Идентификаторы

Идентификатор — это имя какого-либо объекта программы. Например, имена дают переменным, функциям, классам и т.д. Имя может состоять из латинских букв, цифр и символа _ (символ подчеркивания). Начинаться имя может с буквы или символа подчеркивания, но не с цифры. Важно учитывать, что прописные и строчные латинские буквы, используемые в идентификаторах, считаются различными (это требование является общим для всех С-подобных языков: С, С++, С#, Java, Perl и многих других. В таких же языках, как Fortran, Pascal, Basic не делается различия в именах между прописными и строчными латинскими буквами).

Пример допустимых идентификаторов:

alfa   Alfa   ALFA   x   _x   a25   i_tek

Обратите внимание: здесь alfaAlfa и ALFA — разные имена.

Имена, подобные приведённым ниже, ни в коем случае нельзя использовать в качестве идентификаторов:

25a (начинается с цифры);

Альфа (кириллица не допустима).

Общепринятые рекомендации по использованию имён:

  • желательно, чтобы имя объекта было осмысленным;

  • в качестве имён констант используйте имена, состоящие из прописных латинских букв, например:  PI,  GAMMA;

  • не используйте имена, начинающиеся с символа подчеркивания, так как такие имена часто используют разработчики компиляторов для своих целей;

  • чем больше область видимости имени, тем более выразительным и длинным должно быть имя. Короткие однобуквенные или двухбуквенные имена допустимы только внутри небольших блоков программы, внутри коротких функций пользователя.

Длина имени в большинстве случаев не ограничена, но на длину внешних имён (имён библиотек, функций) может накладывать ограничение операционная система.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]