EnglishРусский  

Ads

Scriptius script builder
Provides the best choice in work automation and great time saving features.

CreateInstall
Freeware and commercial installers

Gentee needs your help!
How to advertise with us
 
laptop battery

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.

Edit