itmo.ru aco.ifmo.ru c-visionlab.ru
вернуться в оглавление предыдущая глава предыдущий параграф следующий параграф следующая глава


Приложение 1. Приоритет операций в С++

Приоритет операций - очерёдность выполнения операций в выражении, при условии, что в выражении нет явного указания порядка следования выполнения операций (с помощью круглых скобок).

Если операции имеют одинаковый приоритет, то очерёдность выполнения таких операций определяется согласно свойству ассоциативности. 

Ассоциативность - направление выполнения операций в случае, если операции имеют одинаковый приоритет.

В таблице показаны основные операции в С++, их приоритет выполнения и ассоциативность.

Приоритет Операция Ассоциативность Описание
1
::
слева направо унарная операция разрешения области действия
[ ]
операция индексирования
()
круглые скобки
.
обращение к члену структуры или класса
->
обращение к члену структуры или класса через указатель
2
++
слева направо постфиксный инкремент
постфиксный декремент
3
++
справа налево префиксный инкремент
префиксный декремент
4
*
слева направо умножение
/
деление
%
остаток от деления
5
+
слева направо сложение
-
вычитание
6
>>
слева направо сдвиг вправо
<<
сдвиг влево
7
<
слева направо меньше
<=
меньше либо равно
>
больше
>=
больше либо равно
8
==
слева направо равно
!=
не равно
9
&&
слева направо логическое И
10
||
слева направо логическое ИЛИ
11
?:
справа налево условная операция (тернарная операция)
12
=
справа налево присваивание
*=
умножение с присваиванием
/=
деление с присваиванием
%=
остаток от деления с присваиванием
+=
сложение с присваиванием
-=
вычитание с присваиванием
13
,
слева направо запятая

Если не уверены в очередности выполнения операций в выражении, указывайте  явно очерёдность выполнения операций, то есть расставьте круглые скобоки.