2010-03-06 6 views
51

Possible en double:
The written versions of the logical operators.C++ et, ou, non, mots-clés XOR

Je remarque que C++ définir mot-clé and, or, not, xor, and_eq, or_eq, not_eq et xor_eq comme alternative à &&, ||, !, ^&=, |=, != et |=. et ils sont rarement utilisés! Qu'est-ce qui ne va pas? Ne sont-ils pas portables?

+2

Ils font portable. –

+2

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

+4

Upvote, parce que même si c'est la même question, votre titre était plus clair pour moi. (Je suis tombé sur le mot clé «not» sans le savoir.) – Unapiedra

Répondre

22

Ils proviennent de C AFAIR à partir de moments où on ne savait pas quels symboles spéciaux sont sur le clavier. Donc, pour avoir un langage portable, ils ont été définis de sorte que tout le monde peut utiliser C même si (s) il a utilisé le clavier sans &, | ou ^ (etc.).

De nos jours, lorsque QWERTY est un standard (avec AZWERTY & comme variantes), ce n'est plus un problème.

PS. Et bien sûr pour les concours de code d'obfuscation;)

+0

PPS. Et pour démarrer les discussions sur la cohérence, voir 'and_eq' vs' bitand';) – Wolf