There are 5 basic arithmetic operators in C++ (+, -, *, /, %) that correspond to their mathematical equivalents for addition, subtraction, multiplication, division, and modulo. Compound assignment operators (=+, -=, etc.) allow modifying a variable by performing an operation on it equivalent to assigning the result. Increment (++) and decrement (--) operators increase or decrease a variable by 1 and are equivalent to +=1 and -=1 respectively, though they can be used as prefix or suffix with different evaluation order implications.
There are 5 basic arithmetic operators in C++ (+, -, *, /, %) that correspond to their mathematical equivalents for addition, subtraction, multiplication, division, and modulo. Compound assignment operators (=+, -=, etc.) allow modifying a variable by performing an operation on it equivalent to assigning the result. Increment (++) and decrement (--) operators increase or decrease a variable by 1 and are equivalent to +=1 and -=1 respectively, though they can be used as prefix or suffix with different evaluation order implications.
There are 5 basic arithmetic operators in C++ (+, -, *, /, %) that correspond to their mathematical equivalents for addition, subtraction, multiplication, division, and modulo. Compound assignment operators (=+, -=, etc.) allow modifying a variable by performing an operation on it equivalent to assigning the result. Increment (++) and decrement (--) operators increase or decrease a variable by 1 and are equivalent to +=1 and -=1 respectively, though they can be used as prefix or suffix with different evaluation order implications.
There are 5 basic arithmetic operators in C++ (+, -, *, /, %) that correspond to their mathematical equivalents for addition, subtraction, multiplication, division, and modulo. Compound assignment operators (=+, -=, etc.) allow modifying a variable by performing an operation on it equivalent to assigning the result. Increment (++) and decrement (--) operators increase or decrease a variable by 1 and are equivalent to +=1 and -=1 respectively, though they can be used as prefix or suffix with different evaluation order implications.
Operations of addition, subtraction, multiplication and division correspond literally to their respective mathematical operators. The last one, modulo operator, represented by a percentage sign (%), gives the remainder of a division of two values. For example: x = 11 % 3;
results in variable x containing the value 2, since dividing 11 by 3 results in 3, with a remainder of 2.
Compound assignment (+=, -=, *=, /=, %=, >>=, <<=, &=, ^=, |=) Compound assignment operators modify the current value of a variable by performing an operation on it. They are equivalent to assigning the result of an operation to the first operand: expression equivalent to... y += x; y = y + x; x -= 5; x = x - 5; x /= y; x = x / y; price *= units + 1; price = price * (units+1);
and the same for all other compound assignment operators. For example: 1 2 3 4 5 6 7 8 9 10 11 // compound assignment operators #include <iostream> using namespace std;
int main () { int a, b=3; a = b; a+=2; // equivalent to a=a+2 cout << a; } 5
Increment and decrement (++, --) Some expression can be shortened even more: the increase operator (++) and the decrease operator (--) increase or reduce by one the value stored in a variable. They are equivalent to +=1 and to -=1, respectively. Thus: 1 2 3 ++x; x+=1; x=x+1;
are all equivalent in its functionality; the three of them increase by one the value of x.
In the early C compilers, the three previous expressions may have produced different executable code depending on which one was used. Nowadays, this type of code optimization is generally performed automatically by the compiler, thus the three expressions should produce exactly the same executable code.
A peculiarity of this operator is that it can be used both as a prefix and as a suffix. That means that it can be written either before the variable name (++x) or after it (x++). Although in simple expressions like x++ or ++x, both have exactly the same meaning; in other expressions in which the result of the increment or decrement operation is evaluated, they may have an important difference in their meaning: In the case that the increase operator is used as a prefix (++x) the value, the expression evaluates to the final value of x, once it is already increased. On the other hand, in case that it is used as a suffix (x++) the value stored in x the expression evaluates to the valuex had before being increased. Notice the difference: Example 1 Example 2 x = 3; y = ++x; // x contains 4, y contains 4 x = 3; y = x++; // x contains 4, y contains 3
In Example 1, the value assigned to y is the value of x after being increased. While in Example 2, it is the value xhad before being increased.