Espaces de noms
Variantes
Affichages
Actions

Alternative operator representations

De cppreference.com
< cpp‎ | language
 
 
Langage C++
Sujets généraux
Contrôle de flux
Instructions conditionnelles
Instructions d'itération
Instructions de saut
Fonctions
déclaration de fonction
expression lambda
fonction générique
spécificateur inline
spécification d'exception (obsolète)
spécificateur noexcept (C++11)
Exceptions
Espaces de noms
Types
spécificateur decltype (C++11)
Qualificatifs
qualificatifs const et volatile
qualificatifs de stockage
qualificatif constexpr (C++11)
qualificatif auto (C++11)
qualificatif alignas (C++11)
Initialisation
Littéraux
Expressions
opérateurs alternatifs
Utilitaires
Types
déclaration typedef
déclaration d'alias de type (C++11)
attributs (C++11)
Jette
Original:
Casts
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
conversions implicites
conversion const_cast
conversion static_cast
conversion dynamic_cast
conversion reinterpret_cast
conversions style C et style fonction
Allocation de mémoire
Classes
Qualificatifs spécifiques aux membres de classe
Fonctions membres spéciales
Modèles
classes génériques
fonctions génériques
spécialisation de modèles
paquets de paramètres (C++11)
Divers
Assembleur
 

Le code source C++ (et C) peut être écrit dans n'importe quel jeu de caractère non-ASCII 7 bits qui comprend le jeu de caractères ISO 646/ECMA-6 invariant. Cependant, plusieurs opérateurs et ponctuations C++ nécessitent des caractères qui sont en dehors du jeu de codes ISO 646: {, }, [, ], #, \, ^, |, ~. Pour être en mesure d'utiliser les codages de caractères là où tout ou partie de ces symboles n'existent pas (comme l'allemand DIN 66003), C++ définit deux types de solutions : mots-clés supplémentaires qui correspondent aux opérateurs qui utilisent ces caractères et combinaisons spéciales de deux ou trois caractères compatibles ISO 646 interprétés comme s'il s'agissait d'un seul caractère non-ISO 646.

Sommaire

[modifier] Mots-clés alternatifs

Il existe une orthographe alternative pour plusieurs opérateurs définis comme mots-clés dans le standard C++.

Primaire Alternative
&& and
&= and_eq
& bitand
| bitor
~ compl
! not
!= not_eq
|| or
|= or_eq
^ xor
^= xor_eq

[modifier] Compatibilité avec le C

Les mêmes mots sont définis dans le langage de programmation C dans le fichier include <iso646.h> sous forme de macros. Parce que dans le C++ ce sont des mots clés du langage, la version C++ de <iso646.h>, ainsi que <ciso646>, ne définit rien.

[modifier] Digrammes et trigrammes

Les combinaisons de deux ou trois caractères (digrammes et trigrammes) ci-dessous sont des substitutions valides pour leur caractère primaire :

Primaire Digramme Trigramme
{ <% ??<
None} %> ??>
[ <: ??(
] :> ??)
# %: ??=
\ ??/
^ ??'
| ??!
~ ??-

[modifier] Mots-clés

and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor, xor_eq

[modifier] Exemple

L'exemple suivant illustre l'utilisation de plusieurs mots-clés alternatifs :

%:include <iostream>
 
int main(int argc, char *argv<::>) 
<%
    if (argc > 1 and argv<:1:> not_eq '\0') <%
        std::cout << "Hello " << argv<:1:> << '\n';
    %>
%>