Операции присваивания в С++
Для сокращённой записи выражений в языке программирования С++ есть специальные операции, которые называются операциями присваивания. Рассмотрим фрагмент кода, с использованием операции присваивания.
1
2
3
|
int value = 256; value = value + 256; // обычное выражение с использованием двух операций: = и + value += 256; // сокращённое эквивалентное выражение с использованием операции присваивания |
В строке 2 переменной value
присваивается значение 512, полученное в результате суммы значения содержащегося в переменной value
с числом 256. В строке 3 выражение выполняет аналогичную операцию, что и в строке 2, но выражение записано в упрощённом виде. В этом выражении присутствует операция присваивания со знаком плюс +=
. Таким образом, операция +=
суммирует значение переменной value
co значением, которое находится правее: 256, и присваивает результат суммы этой же переменной. Как видно из примера оператор в строке 3 короче оператора в строке 2, хоть и выполняет аналогичную операцию. Так что, если некоторую переменную нужно изменить, то рекомендуется использовать операции присваивания.
В С++ существует пять операций присваивания, не считая основную операцию присваивания: =
.
+=
операция присваивания-сложения;-=
операция присваивания-вычитания;*=
операция присваивания-умножения;/=
операция присваивания-деления;%=
операция присваивания-остатка от деления;
Договоримся называть операции присваивания через дефис, чтобы было понятно о какой именно операции идёт речь. В таблице 1 наглядно показаны примеры использования операторов присваивания в языке программирования С++.
Операция | Обозначение | Пример | Экв.пример | Пояснение |
---|---|---|---|---|
операция присваивания-сложения | += | var += 16 | var = var + 16 | Прибавляем к значению переменной var число 16, результат суммирования сохраняется в переменной var |
операция присваивания-вычитания | -= | var -= 16 | var = var — 16 | Вычитаем из переменной var число 16, результат вычитания сохраняется в переменной var |
операция присваивания-умножения | *= | var *= 16 | var = var * 16 | Умножаем значение переменной var в 16 раз, результат умножения присваивается переменной var |
операция присваивания-деления | /= | var /= 16 | var = var / 16 | Делим значение переменной var на 16, результат деления присваивается переменной var |
операция присваивания-остатка от деления | %= | var %= 16 | var = var % 16 | Находим остаток от деления и сохраняем его в переменной var |
Разработаем программу, которая будет использовать операции присваивания.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
// assignment.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> using namespace std; int main( int argc, char * argv[]) { int value = 256; cout << "value = " << value << endl; value += 256; // сокращённое выражение с использованием операции присваивания - сложения cout << "value += 256; >> " << value << endl; value -= 256; // сокращённое выражение с использованием операции присваивания - вычитания cout << "value -= 256; >> " << value << endl; value *= 2; // сокращённое выражение с использованием операции присваивания - умножения cout << "value *= 2; >> " << value << endl; value /= 8; // сокращённое выражение с использованием операции присваивания - деления cout << "value /= 8; >> " << value << endl; system ( "pause" ); return 0; } |
Для начала в строке 9 была объявлена переменная value
, и инициализирована значением 256. В строках 11, 13, 15, 17, прописаны операции присваивания – сложения, вычитания, умножения и деления соответственно. После выполнения каждой операции присваивания оператор cout
печатает результат.