Операторы присваивания в D


Предыдущая страница

Следующие операторы присваивания поддерживаются в языке D:

Оператор Описание Пример
= Это простой оператор присваивания. Он присваивает значения из правых операндов в левый операнд. C = A + B присвоит значение суммы A + B в C
+= Это оператор сложения И присвоения. Он складывает правый операнд с левым операндом и присваивает результат левому операнду. C += A эквивалетно C = C + A
-= Это оператор вычитания И присвоения. Он вычитает правый операнд из левого операнда и присваивает результат левому операнду. C -= A эквивалетно C = C - A
*= Это оператор умножения И присвоения. Он умножает правый операнд на левый операнд и присваивает результат левому операнду. C *= A эквивалетно C = C * A
/= Это оператор деления И присвоения. Он делит левый операнд на правый операнд и присваивает результат левому операнду. C /= A эквивалетно C = C / A
%= Это оператор получения остатка от деления И присвоения. Он получает остаток от деления левого операнда на правый операнд и присваивает результат левому операнду. C %= A эквивалетно C = C % A
<<= Это оператор сдвига влево И присвоения. C <<= 2 тоже самое, что и C = C << 2
>>= Это оператор сдвига вправо И присвоения. C >>= 2 тоже самое, что и C = C >> 2
&= Это оператор бинарного И с последующим присвоением. C &= 2 тоже самое, что и C = C & 2
^= Это оператор бинарного Исключающего ИЛИ с последующим присвоением. C ^= 2 тоже самое, что и C = C ^ 2
|= Это оператор бинарного ИЛИ с последующим присвоением. C |= 2 тоже самое, что и C = C | 2

Пример

Попробуйте следующий пример, чтобы понять все операторы присваивания, доступные на языке D:

import std.stdio;

int main(string[] args) {
   int a = 21;
   int c ;

   c =  a; 
   writefln("Строка 1 - пример орератора = , значение c = %d", c );  
   
   c +=  a; 
   writefln("Строка 2 - пример орератора += , значение c = %d", c );
   
   c -=  a; 
   writefln("Строка 3 - пример орератора -= , значение c = %d", c );
   
   c *=  a; 
   writefln("Строка 4 - пример орератора *= , значение c = %d", c ); 
   
   c /=  a; 
   writefln("Строка 5 - пример орератора /= , значение c = %d", c );  
   
   c  = 200; 
   c = c % a; 
   writefln("Строка 6 - пример орератора %s= , значение c = %d",'\x25', c );
   
   c <<=  2; 
   writefln("Строка 7 - пример орератора <<= , значение c = %d", c ); 
   
   c >>=  2; 
   writefln("Строка 8 - пример орератора >>= , значение c = %d", c );
   
   c &=  2; 
   writefln("Строка 9 - пример орератора &= , значение c = %d", c ); 
   
   c ^=  2; 
   writefln("Строка 10 - пример орератора ^= , значение c = %d", c ); 
   
   c |=  2; 
   writefln("Строка 11 - пример орератора |= , значение c = %d", c );
   
   return 0; 
}

Когда вы скомпилируете и выполните эту программу, она возвратит следующий результат:

Строка 1 - пример орератора = , значение c = 21
Строка 2 - пример орератора += , значение c = 42
Строка 3 - пример орератора -= , значение c = 21
Строка 4 - пример орератора *= , значение c = 441
Строка 5 - пример орератора /= , значение c = 21
Строка 6 - пример орератора %= , значение c = 11
Строка 7 - пример орератора <<= , значение c = 44
Строка 8 - пример орератора >>= , значение c = 11
Строка 9 - пример орератора &= , значение c = 2
Строка 10 - пример орератора ^= , значение c = 0
Строка 11 - пример орератора |= , значение c = 2

Предыдущая страница
d_programming_operators.htm