В чем разница между "and_eq" и "& ="? - PullRequest
0 голосов
/ 09 ноября 2018

Я просматривал справочный сайт C ++ , и я наткнулся на эту статью о ключевом слове and_eq. В этой статье сказано:

альтернативные операторы: как альтернатива для & =

об операторе and_eq. Я не смог найти в Интернете ничего о разнице между and_eq и &=. Это точно так же, как оператор &=, или есть разница? Если есть разница, когда я должен использовать каждый?

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Это буквально то же самое, если вы #include <iso646.h> определяете альтернативные операторы (по крайней мере, на моем компьютере с Visual Studio 2017):

  #define and_eq    &=
  #define bitand    &
  #define bitor |
  #define compl ~
  #define not   !
  #define not_eq    !=
  #define or        ||
  #define or_eq |=
  #define xor   ^
  #define xor_eq    ^=
0 голосов
/ 09 ноября 2018

Если щелкнуть ссылку " альтернативные операторы " на самой странице, на которую вы ссылаетесь, вы увидите следующий текст:

Существуют альтернативные варианты написания для нескольких операторов и других токенов, которые используют символы, отличные от ISO646. Во всех отношениях языка каждый альтернативный токен ведет себя точно так же, как и его основной токен, за исключением написания (оператор строкового преобразования может сделать написание видимым). Двухбуквенные альтернативные токены иногда называют «орграфами»

Обратите внимание, что некоторые компиляторы являются нестандартными по умолчанию и не допускают альтернативных вариантов написания, поэтому вы либо будете применять стандартный режим соответствия, чтобы позволить использовать альтернативные варианты написания, либо просто использовать основные.

...