EnglishРусский  
The project is closed! You can look at a new scripting language. It is available on GitHub.

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.