Реализация операций постфиксного и префиксного инкремента и декремента на С++

{lang: 'ru'}

Это своего рода пост-напоминалка для себя. Меня удивило, что я не смог найти по запросу о реализации постфиксного или префиксного инкремента или декремента примера кода. Поэтому я решил восполнить этот пробел сам.

Напомню, что:

инкремент (оператор ++) увеличивает значение числа на 1

декремент (оператор )  уменьшает значение числа на 1.

Постфиксный — это означает то, что сначала над операндом (переменной) делаются какие-то операции, а уже после этого значение числа увеличивается или уменьшается. То есть, если у нас такая строчка: A = 5 * B—;, то это будет читаться так: умножить 5 на B и присвоить полученный результат переменной A, после чего уменьшить переменную B на единицу.


Префиксный — это противоположность постфиксному. Сначала оператор инкремента или декремента увеличивает или уменьшает операнд (переменную) и только после этого над ним производятся остальные операции, если они есть. То есть, если у нас такая строчка: A = 5 * —B;, то это будет читаться так: уменьшить значение переменной B на единицу, после чего умножить 5 на B и присвоить результат переменной A.

А вот как будет выглядеть реализация операций постфиксного и префиксного инкремента и декремента на C++:

Если вас пугают непонятные строчки template <class X>, то можете смело выкинуть их, и заменить везде X на любой другой, нужный вам тип данных.


Полезная статья? Их будет больше, если вы поддержите меня!