Я с удивлением обнаружил, что в стандартной библиотеке Си с 95-го года существует этот файл, который определяет ряд стандартных макросов, а именно (скопипастил из GCC):
#ifndef __cplusplus
#define and	&&
#define and_eq	&=
#define bitand	&
#define bitor	|
#define compl	~
#define not	!
#define not_eq	!=
#define or	||
#define or_eq	|=
#define xor	^
#define xor_eq	^=
#endifВ C++ все эти операторы (and, and_eq, bitand, bitor и проч.), оказывается, вообще встроенные.
Изначальная цель введения этих «альтернативных операторов» была в том, чтобы на клавиатурах/в кодировках, где нет символов типа & или | можно было бы писать код на Си. Однако, мне кажется, у них есть и иное применение. Если писать «and» вместо «&&», сильно уменьшается вероятность перепутать с «&». То же насчёт «or» и «||». not вместо восклицательного знака тоже может предотвратить ошибки в логике.
Так вот, что местные цари, короли и прочая аристократия думает по этому поводу? А простые батраки? Использует ли кто-нибудь эти операторы в своём коде?













