Чем инкремент ++х отличается от х++, плюсы вначале или в конце

Инкремент и декремент


Операторы инкремента (++) и декремента (—) обладают очень интересными свойствами. Поэтому им следует уделить особое внимание.
Рассмотрим следующий фрагмент кода:

x= 10;

y = ++x;
В этом случае (префиксную форма) переменная у будет установлена равной 11.

 

х = 10;

у = х++;

В постфиксной форме, переменная у будет установлена равной 10:

В обоих случаях переменная х получит значение 11.

Разница состоит лишь в том, в какой момент она станет равной 11 (до присвоения ее значения переменной у или после). Для программиста очень важно иметь возможность управлять временем выполнения операции инкремента или декремента.

 

 


Вспомним: оператор инкремента выполняет сложение операнда с числом 1, а оператор декремента вычитает 1 из своего операнда. Это значит, что инструкция

х = х + 1;

аналогична такой инструкции: ++х;

А инструкция
х = х - 1;
аналогична такой инструкции: --х;

Операторы инкремента и декремента могут стоять как перед своим операндом (префиксная форма), так и после него (постфиксная форма). Например, инструкцию х = х + 1;

можно переписать в виде префиксной
++х;    // Префиксная форма оператора инкремента,

или постфиксной формы:
х++;    // Постфиксная форма оператора инкремента.

В предыдущем примере не имело значения, в какой форме был применен оператор инкремента: префиксной или постфиксной. Но если оператор инкремента или декремента используется как часть большего выражения, то форма его применения очень важна. Если такой оператор применен в префиксной форме, то C++ сначала выполнит эту операцию, чтобы операнд получил новое значение, которое затем будет использовано остальной частью выражения. Если же оператор применен в постфиксной форме, то C# использует в выражении его старое значение, а затем выполнит операцию, в результате которой операнд обретет новое значение.



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы