пятница, 4 октября 2013 г.

Операции языка C++

Операции делятся на унарные, бинарные и тернарную по количеству участвующих в них операндов. Большинство стандартных операций может быть переопределено (перегружено).Операции присваивания (=, +=, -=, *= и т. д.)

Операции присваивания могут использоваться в программе как законченные операторы.
Формат операции простого присваивания (=):

операнд_1 = операнд_2

Первый операнд должен быть L-значением, второй — выражением. Сначала вычисляется выражение, стоящее в правой части операции, а потом его результат записывается в область памяти, указанную в левой части (мнемоническое правило: «присваивание — это передача данных «налево»»). То, что ранее хранилось в этой области памяти, естественно, теряется.


#includeint main(){int a = 3, b = 5, с = 7;= b; b = a; с = с + 1;cout << "a = " << a;cout << "\t b = " << b;cout << "\t с = " << c;return 0;}
Результат работы программы: a = 5 b = 5 c = 8.

Основные операции языка программирования C++

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

Все приведенные в таблице операции, кроме условной и sizeof, могут быть переопределены (перегружены).
ОперацияКраткое описание
Унарные операции
::доступ к области видимости
.выбор
->выбор
[ ]индексация
( )вызов функции
<тип>( )конструирование
++постфиксный инкремент
постфиксный декремент
typeidидентификация типа
dynamic_castпреобразование типа с проверкой на этапе выполнения
static_castпреобразование типа с проверкой на этапе компиляции
reinterpret_castпреобразование типа без проверки
const_castконстантное преобразование типа
sizeofразмер объекта или типа
префиксный декремент
++префиксный инкремент
~поразрядное отрицание
!логическое отрицание
-арифметическое отрицание (унарный минус)
+унарный плюс
&взятие адреса
*разадресация
newвыделение памяти
deleteосвобождение памяти
(<тип>)преобразование типа
.*выбор
->*выбор
Бинарные и тернарные операции
*умножение
/деление
%остаток от деления
+сложение
-вычитание
<<сдвиг влево
>>сдвиг вправо
<меньше
<=меньше или равно
>больше
>=больше или равно
==равно
!=не равно
&поразрядная конъюнкция (И)
^поразрядное исключающее ИЛИ
|поразрядная дизъюнкция (ИЛИ)
&&логическое И
||логическое ИЛИ
? :условная операция (тернарная)
=присваивание
*=умножение с присваиванием
/=деление с присваиванием
%=остаток отделения с присваиванием
+=сложение с присваиванием
-=вычитание с присваиванием
<<=сдвиг влево с присваиванием
>>=сдвиг вправо с присваиванием
&=поразрядное И с присваиванием
|=поразрядное ИЛИ с присваиванием
^=поразрядное исключающее ИЛИ с присваиванием
throwисключение
,последовательное вычисление
Один и тот же знак может интерпретироваться по-разному в зависимости от контекста.