5 Виды операций в с++
Операции

Унарные, бинарные, тернарные.

Все операции в С++ имеют определенный приоритет и порядок выполнения. В таблице все операции разбиты на группы. В рамках группы приоритеты одинаковы. Чем выше приоритет группы операций, тем выше она расположена в таблице.

порядок выполнения: Слева на право

операция

выполняемые действия

( )

вызов функции

[ ]

выделение элемента массива

.

выделение элемента класса, структуры или объединения

->

выделение элемента класса (структуры, объединения)

адресуемого указателем

::

определение области доступа

операция

выполняемые действия

$

определение адреса

*

обращение по адресу

sizeof

определение размера

new

динамическое выделение памяти

delete

освобождение выделенной памяти

-

изменение знака (унарный минус)

!

логическое отрицание

~

побитовое отрицание

+

унарный плюс

(ТИП)

преобразование типа

++

увеличение на единицу (инкремент)

--

уменьшение на единицу

*

прямое обращение к компоненту класса

->*

косвенное обращение к компоненту класса

*

умножение

/

деление

%

остаток от деления

операция

выполняемые действия

+

сложение

-

вычитание

<< 

сдвиг влево

>> 

сдвиг вправо

меньше

<=

меньше или равно

больше

>=

больше или равно

==

равно

!=

не равно

&

побитовая операция И

^

побитовая операция исключающее ИЛИ

|

побитовая операция ИЛИ

&&

логическая операция И

||

логическая операция ИЛИ

операция

выполняемые действия

?:

условная операция

=

операция присвоения

*=, /=, %=

-//-

+=, -=

-//-

<<=, >>=

-//-

&=, |=, ^=

-//-

Пример :

a++;

++a;

int a=10;

1) int b=20+--a; (b=29)

2) int b=20+a--; (b=30)

3) b=0; b+=a--; (b=30, a=9)

SIZE of ( int ); (определение размера)=4

short a

size of(a)>2

int * a = NEW int [10]; /*Динамическое выделение памяти. Указателю а присваивается адрес выделенной динамической памяти из десяти элементов целого типа*/

delete a ; /*удаление для предыдущей операции*/

a *=2; - a умножается на два

( a = a *2 - то же самое)

int c = a > b ? 10:20; /*если условие выполняется, то с=10, если нет - с=20*/

a = b = c =10; /*множественное присваивание*/

Операции выбора элемента

Struct S1

{

int el1;

struct S1*pS1;

}

elem ;

elem . pS 1=& elem ; //элементу структуры присваивается адрес elem

elem . pS 1-> el 1=10; //присваивание el 1=10 через указатель

Hosted by uCoz