Префиксные операторы увеличения и уменьшения
Унарные операторы (++
и --) называются операторами префиксного инкремента или декремента, если операторы инкремента или декремента отображаются перед операндом. Постфиксный инкремент и декремент имеют более высокий приоритет, чем префиксный инкремент и декремент. Операнд должен принадлежать целочисленному типу, типу с плавающей запятой или типу указателя и должен быть изменяемым выражением l-значения (выражением без атрибута const
). В результате получается l-значение.
Если оператор отображается перед операндом, операнд увеличивается или уменьшается, и результат выражения будет его новым значением.
Операнд целочисленного типа или типа с плавающей запятой инкрементируется или декрементируется на целое значение 1. Тип результата совпадает с типом операнда. Операнд типа указателя инкрементируется или декрементируется на значение размера объекта, к которому он относится. Инкрементированный указатель указывает на следующий объект, а декрементированный — на предыдущий.
Пример
В следующем примере показан унарный оператор префиксного декремента.
if( line[--i] != '\n' )
return;
В этом примере переменная i
уменьшена до использования в качестве нижнего индекса line
.