В программах нередко одна и та же переменная используется в левой и правой части операции присваивания, например:
x = x + 5;
C++ позволяет сократить запись таких действий при помощи операций типа "выполнить операцию и присвоить":
x += 5;
то есть запись вида
операнд_1 операция = операнд_2 ;
означает, что операнд операнд_1 вначале используется как левый операнд операции операция, а затем, как левый операнд операции присваивания полученного результата.
Такие составные операции присваивания определены для всех арифметических, а также для всех поразрядных (побитовых) операций, описанных в разделе 9.1. Как и в случае простой операции присваивания, значением любой составной операции присваивания является значение ее левого операнда после присваивания.