- 2

Объясните пожалуйста, в чем разница префикса и постфикса?

8th Jan 2017, 2:45 PM
Nicolai Nagibov
Nicolai Nagibov - avatar
3 Answers
+ 2
Допустим х=10 у=11 Смотри, когда мы пишем у=х++, то сначала мы присваиваем у=10 а потом прибавляем к х единицу и получаем х=11 В итоге х=11 у=10 ------- Когда мы пишем у=++х, то сначала прибавляем единицу к х и получаем х=11 А затем присваиваем у=х то есть у=11 В итоге х=11 у=11 ------- Похожая запись, результат разный
8th Jan 2017, 7:59 PM
Стас Карпенко
Стас Карпенко - avatar
+ 1
А главного-то не сказали: T& operator++(T& val); T operator++(T& val, T); Префиксная версия возвращает саму переменную (ссылку на нее), а постфиксная - только её значение! Это все равно что создать новую неизменяемую переменную и подставить её на место, где ожидалась старая (изменяемая) a = 0; ++++a; // 2 a++++; // Упс
23rd Mar 2017, 3:03 PM
SUPER_S
SUPER_S - avatar