Liste des opérateurs de C++

Les liens renvoient aux sections où ces opérateurs sont décrits. L’ordre 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 d’opé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 d’indice 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 l’opé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 l’identificateur situé à droite de l’opé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 d’un 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 l’identificateur 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 d’un pointeur sur membre Appel d’une méthode de classe par l’intermédiaire d’un pointeur de fonction.
->* 13 -> 2 Déréférencement + adressage d’un pointeur sur membre Déréférence le pointeur, puis appelle une méthode de classe par l’intermédiaire d’un 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 l’entier 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 l’entier précédent du nombre de bits indiqué par l’entier suivant l’opérateur, divisant ainsi par 2 puissance de cet entier.
>> 10 -> 2 Décalage à gauche Décale à gauche les bits de l’entier précédent du nombre de bits indiqué par l’entier suivant l’opé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 l’opé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 l’opération logique OU EXCLUSIF sur les bits des opérandes entiers.
| 5 -> 2 OU par bits Applique l’opé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 n’est pas évalué.
|| 3 -> 2 OU logique OU logique entre deux booléens. Si le premier opérande est vrai, le second n’est 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 l’opé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 Précédent Sommaire Sommaire