Операторы увеличения и уменьшения in C++
Tags: beginners, webdev, programming, tutorial
Published: 2023-05-15 19:49:27

Ассаламу алейкум, уважаемый программист, сегодня мы поговорим с вами об операторах, которые во многих случаях используются в языке программирования C++.

C++ предоставляет различные типы операторов для вычисления математических и логических операторов и выражений в программе. Оператор приращения и оператор декремента — это тип унарных операторов в C++, которые используются для прибавления или вычитания 1 из операнда соответственно. Эта статья посвящена и пытается объяснить глубокую концепцию этих двух унарных операторов.

**Описание**

- Оператор приращения используется для увеличения значения операнда на 1, а оператор декремента используется для уменьшения значения операнда на 1.
- В C++ значение переменной увеличивается или уменьшается на 1 с помощью оператора Increment и оператора Decrement

`Операторы увеличения и уменьшения используются только с целочисленными переменными и операндами с числовыми значениями. Их нельзя использовать с переменной, которая содержит символьные или строковые значения.`

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

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


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7wlijo01fx12r189r48a.png)

**Increment Operator**

`Основная задача операторов приращения — увеличить числовое значение переменной на 1. В языке программирования операторы приращения обозначаются знаком «++».`


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/huezyj4wk0w08bjuwkov.png)

**Примечание 1**

Позиции операторов Prefix и Postfix Increment имеют одинаковые функциональные значения и дают одинаковые результаты, если они не используются ни в каком формате выражения.

```
#include <iostream>

using namespace std;

int main()

{

int x = 15 ; int y = 30 ;

++x ;

y++ ;

cout << x << endl << y ;


return 0;
}
```

**Выход**

```
16

31
```

**Примечание2**

Позиции префикса и постфикса дают разные результаты вычислений, если они используются в выражении.

Если операторы приращения используются в позиции префикса, то функция приращения выполняется перед выражением.

Если операторы приращения используются в постфиксной позиции, то функция приращения выполняется после вычисления выражения.

**Например:**

```
#include <iostream>

using namespace std;

int main()

{

int x =  10 ;

int a ;

x = ++x ;

cout <<"Value of x = "<< x << endl ;

a = x++ ;

cout <<"Value of a = "<< a << endl ;

cout <<"New Value of x = "<< x << endl ;

return 0;

}
```
**Output**

```
Value of x = 11

Value of a = 11

New value of x = 12
```

**Объяснение**

- В нашем первом операторе cout используется оператор Pre-Increment. Таким образом, значение «x» увеличивается `на 1, то есть x = x + 1 = 10 + 1 = 11.`
- Затем мы присваиваем значение переменной «а» в выражении `«а = х++»`.
- Это означает, что сначала значение «x» присваивается «a», а затем «x» увеличивается на 1. Таким образом, выход равен `a = 11, новое значение x = 12`.

**Decrement Operator**

`Основная задача оператора декремента — уменьшить числовое значение переменной до значения 1. В языке программирования оператор декремента обозначается символом «– –».`


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3rk85c1pmklxz424foin.png)

**Примечание1**

Позиции операторов `Prefix и Postfix Decrement` имеют одинаковые функциональные значения и дают одинаковые результаты, если они не используются ни в каком формате выражения.

**Например:**

```
#include <iostream>

using namespace std;


int main()

{

int x = 15 ; int y = 30 ;

--x ;

y--;

cout << x << endl << y ;

return 0;
}
```

**Output:**

```
14

29
```
**Примечание2**

- Как и операторы приращения, оператор декремента работает по-разному, когда оператор используется в любом выражении.
- Если оператор декремента используется в позиции префикса, то функция приращения выполняется перед выражением.
- Если оператор декремента используется в постфиксной позиции, то функция приращения выполняется после вычисления выражения.

```
#include <iostream>

using namespace std;

int main()

{

int x =  10 ;

int a ;

cout <<"Value of x = "<< --x << endl ;

a = x--;

cout <<"Value of a = "<< a << endl ;

cout <<"New Value of x = "<< x << endl ;

return 0;

}
```

**Output:**

```
Value of x = 9

Value of a = 9

New value of x = 8
```
**Объяснение**

- В нашем первом операторе cout используется оператор Pre-Decrement. Таким образом, значение `«х»` уменьшается на `1, т. е. х = х — 1 = 10 — 1 = 9.`
- Затем присваиваем значение переменной «а» в выражении `«а = х— —»`.
- Это означает, что сначала значение «x» присваивается «a», а затем «x» уменьшается на 1. Итак, выведите `a = 9, новое значение x = 8.`