Чем инкремент ++х отличается от х++, плюсы вначале или в конце
Инкремент и декремент
Операторы инкремента (++) и декремента (—) обладают очень интересными свойствами. Поэтому им следует уделить особое внимание.
Рассмотрим следующий фрагмент кода:
x= 10;
y = ++x;
В этом случае (префиксную форма) переменная у будет установлена равной 11.
х = 10;
у = х++;
В постфиксной форме, переменная у будет установлена равной 10:
В обоих случаях переменная х получит значение 11.
Разница состоит лишь в том, в какой момент она станет равной 11 (до присвоения ее значения переменной у или после). Для программиста очень важно иметь возможность управлять временем выполнения операции инкремента или декремента.
Вспомним: оператор инкремента выполняет сложение операнда с числом 1, а оператор декремента вычитает 1 из своего операнда. Это значит, что инструкция
х = х + 1;
аналогична такой инструкции: ++х;
А инструкция
х = х - 1;
аналогична такой инструкции: --х;
Операторы инкремента и декремента могут стоять как перед своим операндом (префиксная форма), так и после него (постфиксная форма). Например, инструкцию х = х + 1;
можно переписать в виде префиксной
++х; // Префиксная форма оператора инкремента,
или постфиксной формы:
х++; // Постфиксная форма оператора инкремента.
В предыдущем примере не имело значения, в какой форме был применен оператор инкремента: префиксной или постфиксной. Но если оператор инкремента или декремента используется как часть большего выражения, то форма его применения очень важна. Если такой оператор применен в префиксной форме, то C++ сначала выполнит эту операцию, чтобы операнд получил новое значение, которое затем будет использовано остальной частью выражения. Если же оператор применен в постфиксной форме, то C# использует в выражении его старое значение, а затем выполнит операцию, в результате которой операнд обретет новое значение.
Оставить свой ответ: