"Мюррэй Хилл, Бьярн Страустрап. Язык С++" - читать интересную книгу автора

прерываний), и мы сочли, что стандартный перевод его как "массив"
затуманит изложение. (прим. перев.)

- стр 25 -

переменных. Поток управления в программе задается с помощью
операторов , а описания используются для введения в программе имен
переменных, констант и т.д. Заметьте, что описания являются
операторами, поэтому они свободно могут сочетаться с другими
операторами.

1.4.1 Выражения

В C++ имеется большое число операций, и они будут объясняться
там, где (и если) это потребуется. Следует учесть, что операции

~ (дополнение)
& (И)
^ (исключающее ИЛИ)
| (включающее ИЛИ)
<< (логический сдвиг влево)
>> (логический сдвиг вправо)

применяются к целым, и что нет отдельного типа данных для
логических действий.
Смысл операции зависит от числа операндов; унарное & является
операцией взятия адреса, а бинарное & - это операция логического И.
Смысл операции зависит также от типа ее операндов: + в выражении
a+b означает сложение с плавающей точкой, если операнды имеют тип
float, но целое сложение, если они типа int. В #1.8 объясняется,
как можно определить операцию для типа, определяемого
пользователем, без потери ее значения, предопределенного для
основных и производных типов.
В C++ есть операция присваивания =, а не оператор присваивания,
как в некоторых языках. Таким образом, присваивание может
встречаться в неожиданном контексте; например, x=sqrt(a=3*x). Это
бывает полезно. a=b=c означает присвоение c объекту b, а затем
объекту a. Другим свойством операции присваивания является то, что
она может совмещаться с большинством бинарных операций. Например,
x[i+3]*=4 означает x[i+3]=x[i+3]*4, за исключением того факта, что
выражение x[i+3] вычисляется только один раз. Это дает
привлекательную степень эффективности без необходимости обращения к
оптимизирующим компиляторам. К тому же это более кратко.
В большинстве программ на C++ широко применяются указатели.
Унарная операция * разыменовывает* указатель, т.е. *p есть объект,
на который указывает p. Эта операция также называется косвенной
адресацией. Например, если имеется char* p, то *p есть символ, на
который указывает p. Часто при работе с указателями бывают полезны
операция увеличения ++ и операция уменьшения --. Предположим, p
указывает на элемент вектора v, тогда p++ делает p указывающим на