Инкремент и декремент в C++: изучаем с примерами

обложка статьи

Доброго времени суток, дорогие читатели CodeLessons! В данной статье пойдет речь об часто встречающейся операторах в C++: инкрементах и декрементах. Они позволяют нам упростить написание кода, а также сделать его более читабельным и наглядным для просмотра.

Что такое инкремент и декремент?

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

myVar = myVar - 1; // уменьшаем переменную myVar

Данный код вполне дееспособен, однако сейчас мы поговорим о более компактных операторах инкремента и декремента. Они выполняют следующие функции:

Теперь давайте более подробно разберем каждый из этих операторов.

Инкремент

Как было сказано выше, инкремент позволяет увеличить значение выбранной переменной на единицу.

Чтобы увеличить переменную при помощи инкремента, вы должны после имени переменной или до него написать два плюса (++). Можно прописывать данные знаки и до переменной. Этот вопрос мы подробно рассмотрим далее в статье.

Вот пример использования инкремента в C++:

myVar++; // увеличиваем переменную myVar на один

Ну вот, другое дело. Теперь давайте разберем декремент.

Декремент

Его применение аналогично инкременту. Однако для уменьшения переменной мы должны вместо двух знаком сложения прописать два минуса (—).

Записывается в программе следующим образом:

myVar--; // переменная myVar уменьшена на единицу

Вы уже имеете достаточно знаний, касательно операторов уменьшения и увеличения в C++. Теперь пришло время разобраться в позиционировании декрементов и инкрементов.

Постфиксный и префиксный инкремент/декремент

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

Давайте рассмотрим префиксную и постфиксную варианты записи изучаемых нами операторов:

  • до переменной (++x, --y): данное положения является префиксным. При префиксном инкременте или декременте, наша переменная будет уменьшена (увеличена) до того, как будет использовано ее значение в нуждах программы. Для лучшего понимания, давайте рассмотрим простой пример, который наглядно демонстрирует префиксное расположение инкремента:

    int v = 4, sum = ++v; // sum и v равны пяти

    В данном случае, переменная v сначала была увеличена, а лишь после ее значение было присвоено переменной sum. Теперь давайте разберем постфиксный вариант записи операторов в C++.

  • после переменной (x++, y--): данное расположения называется постфиксным. При использовании постфиксного инкремента или декремента, переменная будет увеличена после использования ее значения для выполнения сторонних операций. Вот тот же пример, лишь с применением постфиксного инкремента:

    int v = 4, sum = v++; // теперь sum равна четырем

    Как видите, теперь Увеличение переменной v произошло после присваивания ее значения переменной sum.

Советую сразу запомнить данные вариации позиционирования инкрементов и декрементов, поскольку потом вы можете чесами вглядываться в программу и не понимать почему она работает некорректно.

Чтобы лучше понять механизм работы данных операторов, я вам советую постараться создать собственную программу с их использованием в различных вариациях.

На этом все. Удачи!

« Оператор ветвления if в C++

Логические выражения в C++ »

Обсуждение