СТАРШИНСТВО ОПЕРАЦИЙ
При выполнении арифметических операций в 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 |