web-dev-qa-db-fra.com

C ++ et, ou, non, xor mots clés

Duplicata possible:
Les versions écrites des opérateurs logiques.

Je remarque que C++ définit le 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?

61
uray

Ils viennent de C AFAIR à une époque où l'on ne savait pas quels symboles spéciaux se trouvent sur le clavier. Donc, pour avoir un langage portable, ils ont été définis pour que tout le monde puisse utiliser C même s'il utilisait un clavier sans &, | ou ^ (etc.).

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

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

25
Maciej Piechotka