Les liens renvoient aux sections où ces opérateurs sont décrits. Lordre indiqué est celui de précédence, indiquée aussi dans la deuxième colonne ; les opérateurs de précédence 15 ont une priorité plus grande que ceux de précédence 14, etc. Les opérateurs de priorité égale sont traités de gauche à droite ou de droite à gauche selon le sens indiqué. La colonne Nb.Op. indique le nombre dopérandes ; ceux-ci sont également évalués dans le sens indiqué. Une description plus détaillée se trouve aux sections indiquées par les liens dans la colonne des noms.
Les opérateurs qui ne peuvent être redéfinis sont sur fond orange.
Opérateur | Préc. | Sens | Nb. Op. | Nom | Description |
() | 15 | -> | varie | Appel de fonction | Appelle la fonction dont le nom se trouve devant les parenthèses, avec les arguments contenus dans celles-ci. |
[] | 15 | -> | 2 | Indice de tableau | Renvoie un élément dindice calculé entre crochets dans le tableau dont le nom se trouve devant ceux-ci. |
-> | 15 | -> | 2 | Déréférencement + adressage | Déréférence le pointeur situé devant lopérateur puis adresse le membre situé à droite. |
:: | 15 | -> | 1 ou 2 | Résolution de portée | En opérateur unaire, devant un identificateur, indique une variable globale. En opérateur binaire, limite la portée de recherche de lidentificateur situé à droite de lopérateur à la classe située à gauche. |
::* | 15 | -> | 2 | Résolution de portée pour les pointeurs sur membre | Indique la classe pour un pointeur sur membre. |
. | 15 | -> | 2 | Adressage | Adresse le membre dont le nom suit le point dans la classe dont le nom précède. |
! | 14 | <- | 1 | Négation logique | Change un booléen en son opposé. |
~ | 14 | <- | 1 | Négation par bits | Change tous les bits dun entier en leur opposé. |
+ | 14 | <- | 1 | + unaire | Aucun effet. |
- | 14 | <- | 1 | - unaire | Change un nombre en son opposé. |
++ | 14 | <- | 1 | Incrémentation | Incrémente un entier ou un pointeur. Peut être placé devant ou derrière (actionavant ou après le reste des calculs). |
-- | 14 | <- | 1 | Décrémentation | Décrémente un entier ou un pointeur. Peut être placé devant ou derrière (actionavant ou après le reste des calculs). |
& | 14 | <- | 1 | Référence | Renvoie un référence sur lidentificateur dont le nom suit. |
* | 14 | <- | 1 | Déréférencement | Renvoie une référence sur la variable pointée par le pointeur dont le nom suit. |
(type) | 14 | <- | 1 | Changement de type | Change le type de la variable située derrière la parenthèse fermante en celui indiqué entre parenthèses. |
sizeof | 14 | <- | 1 | Taille | Taille du type donné en argument, ou du type de la variable donnée en argument. |
new | 14 | <- | 1 | Allocation | Crée un bloc mémoire de taille adéquat pour stocker un objet, et renvoie un pointeur sur ce bloc. |
delete | 14 | <- | 1 | Désallocation | Détruit un bloc créé par new . |
.* | 13 | -> | 2 | Adressage dun pointeur sur membre | Appel dune méthode de classe par lintermédiaire dun pointeur de fonction. |
->* | 13 | -> | 2 | Déréférencement + adressage dun pointeur sur membre | Déréférence le pointeur, puis appelle une méthode de classe par lintermédiaire dun pointeur de fonction. |
* | 12 | -> | 2 | Multiplication | Multiplie les deux nombres. |
/ | 12 | -> | 2 | Division | Divise le nombre de gauche par celui de droite. |
% | 12 | -> | 2 | Reste modulo | Donne le reste de la division euclidienne de lentier de gauche par celui de droite. |
+ | 11 | -> | 2 | Addition | Additionne les deux nombres. |
- | 11 | -> | 2 | Soustraction | Soustrait les deux nombres. |
<< | 10 | -> | 2 | Décalage à droite | Décale à droite les bits de lentier précédent du nombre de bits indiqué par lentier suivant lopérateur, divisant ainsi par 2 puissance de cet entier. |
>> | 10 | -> | 2 | Décalage à gauche | Décale à gauche les bits de lentier précédent du nombre de bits indiqué par lentier suivant lopérateur, multipliant ainsi par 2 puissance de cet entier. |
< | 9 | -> | 2 | Inférieur strict | Renvoie un booléen indiquant si le nombre de gauche est strictement inférieur à celui de droite. |
<= | 9 | -> | 2 | Inférieur large | Renvoie un booléen indiquant si le nombre de gauche est inférieur ou égal à celui de droite. |
> | 9 | -> | 2 | Supérieur strict | Renvoie un booléen indiquant si le nombre de gauche est strictement supérieur à celui de droite. |
>= | 9 | -> | 2 | Supérieur large | Renvoie un booléen indiquant si le nombre de gauche est supérieur ou égal à celui de droite. |
== | 8 | -> | 2 | Égal | Renvoie un booléen indiquant si les deux termes sont égaux. |
!= | 8 | -> | 2 | Différent | Renvoie un booléen indiquant si les deux termes sont différents. |
& | 7 | -> | 2 | ET par bits | Applique lopération logique ET sur les bits des opérandes entiers. Ne pas utiliser avec les booléens (voir && ). |
^ | 6 | -> | 2 | OU EXCLUSIF par bits | Applique lopération logique OU EXCLUSIF sur les bits des opérandes entiers. |
| | 5 | -> | 2 | OU par bits | Applique lopération logique OU sur les bits des opérandes entiers. Ne pas utiliser avec les booléens (voir || ). |
&& | 4 | -> | 2 | ET logique | ET logique entre deux booléens. Si le premier opérande est faux, le second nest pas évalué. |
|| | 3 | -> | 2 | OU logique | OU logique entre deux booléens. Si le premier opérande est vrai, le second nest pas évalué. |
? : | 2 | <- | 3 | Selon que | Évalue le booléen situé devant ? . Si le résultat est vrai renvoie le terme précédant : , sinon renvoie celui qui suit. |
= | 1 | <- | 2 | Affectation | Calcule le terme de droite et place la valeur dans la variable désigné à gauche. Renvoie la valeur obtenue. |
*= /= | 1 | <- | 2 | Affection + opération | Effectue lopération dont le symbole précède le signe = , entre la variable identifiée à gauche et le terme situé à droite, puis place le résultat dans cette variable. Renvoie la valeur obtenue. |
, | 0 | -> | 2 | Succession | Évalue le terme de gauche, puis celui de droite et renvoie ce dernier. |
Précédent | Sommaire |