2010-03-06 15 views
51

Duplicar posibles:
The written versions of the logical operators.C++ y, o, no, palabras clave XOR

Me he dado cuenta de que C++ definen palabra clave and, or, not, xor, and_eq, or_eq, not_eq y xor_eq como alternativa a &&, ||, !, ^ , &=, |=, != y |=. ¡y rara vez se usan! ¿Qué pasa? ¿No son portátiles?

+2

Lo hacen portátil. –

+2

Ver http://stackoverflow.com/questions/2376448/the-written-versions-of-the-logical-operators –

+4

Upvote, porque a pesar de que es la misma pregunta, su título fue más claro para mí. (Me encontré con la palabra clave 'no' sin saber que existía.) – Unapiedra

Respuesta

22

Vienen de C AFAIR cuando no se sabía qué símbolos especiales había en el teclado. Por lo tanto, para tener un lenguaje portátil, se definieron para que cualquiera pueda usar C incluso si usó el teclado sin &, | o ^ (etc.).

Actualmente, cuando QWERTY es un estándar (con AZWERTY & como variaciones) ya no es un problema.

PS. Y, por supuesto, para las competiciones de códigos de ofuscación;)

+0

PPS. Y para comenzar las discusiones sobre la coherencia, vea 'and_eq' contra' bitand';) – Wolf

Cuestiones relacionadas