СТАРШИНСТВО ОПЕРАЦИЙ
При выполнении арифметических операций в C++ необходимо знать, что C++ выполняет операции в определенном порядке, основанном на старшинстве операций. Например, операция умножения выполняется до сложения. Чтобы лучше понять старшинство операций, рассмотрите следующие выражения:
result =5+2*3;
В зависимости от порядка, в котором C++ выполняет умножение и сложение, результат будет разным:
result =5+2*3;
=7*3;
= 21;
result =5+2*3;
=5+6;
= 11;
Чтобы избежать путаницы, C++ присваивает каждой операции приоритет, который определяет порядок выполнения операций. Так как C++ выполняет операции в определенном порядке, то и ваши программы будут проводить арифметические вычисления соответствующим образом.
Таблица 5.3 перечисляет старшинство операций C++. Операции, находящиеся в верхней части, имеют более высокий приоритет. Операции внутри каждой части имеют одинаковый приоритет. Если вы рассмотрите таблицу, то увидите, что в C++ умножение имеет более высокий приоритет, чем сложение. Вы не знакомы со многими операциями, представленными в таблице. В настоящее время не думайте об этих операциях. К концу изучения этой книги вы сможете использовать (и понять) каждую из них!
Таблица 5.3. Старшинство операций в C++.
| Уничтожение массива | delete pointer | |
| Дополнение | ~expression | |
| Логическое НЕ | ! expression | |
| Унарный плюс | +1 | |
| Унарный минус | -1 | |
| Приведение | (type) expression | |
| Выбор элемента | object.*pointer | |
| Выбор элемента | object-*pointer | |
| Умножение | expression * expression | |
| Деление | expression / expression | |
| Взятие по модулю | expression % expression | |
| Сложение (плюс) | expression + expression | |
| Вычитание (минус) | expression expression | |