EnglishРусский  

Ads

Installer and installation software
Commercial and Freeware installers.

Assignment operators

The assignment operators are considered to be the binary operators. The left-hand operand of an assignment operation must be a variable, item of array, field of structure etc. These operators have right-to-left associativity.

=Simple assignment.
+=Addition assignment. a += b => a = a + b
-=Subtraction assignment. a -= b => a = a - b
*=Multiplication assignment. a *= b => a = a * b
/=Division assignment. a /= b => a = a / b
%=Remainder assignment. a %= b => a = a % b
&=Bitwise-AND assignment. a &= b => a = a & b
=)
^=Bitwise-exclusive-OR assignment. a ^=b => a = a ^ b
>>=Right-shift assignment. a >>= b => a = a >> b
<<=Left-shift assignment. a <<= b => a = a << b

As you have already noticed, except "simple assignment" you can perform the assignment with an operation, that is after a binary operation of the right-hand operand and the left-hand operand is performed, the result is assigned into the left operand.

a = 10
a += 10 + 23 // a = 43
a *= 2  // a = 86 

if a = 2 // TRUE !!!
{...}
if a == 2 // TRUE if a equals 2
{...}

One and the same expression can contain several assignment operations, each of which returns the assigned value. In this case, the assignment operation is performed from right to left.

a = 10 + b = 20 + c = 3 
// result: с=3, b=23, a=33
a = ( b += 10 )

You can define these operators for any types. See more details on the Redefining operator operations page.