C++ Operators : opérateurs importants du langage orienté objet
Que vous appreniez le C++ ou que vous travailliez avec ce langage de programmation depuis longtemps, les opérateurs C++ constituent la base d’une programmation efficace. Même si la signification de certains opérateurs est intuitive, ce n’est pas le cas pour tous.
Que sont les opérateurs C++ ?
Fondamentalement, un opérateur est simplement un caractère désignant une opération. Un opérateur peut faire référence à un opérande, mais fréquemment, il réfère à plusieurs de ces derniers. Par conséquent, dans la plupart des cas, vous obtenez une nouvelle valeur. Un exemple populaire sont les opérateurs arithmétiques, par exemple « + » pour additionner et « - » pour soustraire deux nombres.
Les opérateurs C++ ne sont pas uniquement différenciés sur la base de leur fonction. Le statut de l’opérateur ou son affinité sont également des critères importants de différenciation :
Continuité | Nombre d’opérandes | Exemple |
---|---|---|
Opérateurs unaires | Un opérande | Négation logique : !var_name
|
Opérateurs binaires | Deux opérandes | Ajout : value1 + value2
|
Opérateurs ternaires | Trois opérandes | Condition if-else : condition? condition_true : condition_false
|
Priorité de l’opérateur
Comme pour les opérateurs arithmétiques simples ou les opérateurs Python, il existe également une priorisation des opérateurs C++. Celle-ci indique l’ordre dans lequel les opérateurs sont analysés. Pour les opérateurs arithmétiques, les règles connues de point avant tiret s’appliquent. Cependant, il existe également d’autres règles que vous devez suivre pour les autres opérateurs C++.
if (var1 && var2 || var3) {
do_something();
}
cppDans l’exemple ci-dessus, l’expression logique après l’opérateur « if » est évaluée en premier. Ici encore, l’opérateur « && » (ET logique) a priorité sur l’opérateur « || » (OU logique). Ainsi, si l’évaluation de « var1 && var2 » ou l’évaluation de « var3 » renvoie à « true », l’appel de fonction de « do_something() » est exécuté.
Si vous voulez plus de certitude, vous pouvez également utiliser des parenthèses.
Surcharge des opérateurs en C++
Vous pouvez surcharger la plupart des opérateurs C++. Cela signifie que vous pouvez attribuer un nouveau sens à un opérateur existant dans un contexte. Pour effectuer une surcharge d’opérateur en C++, vous devez utiliser le mot-clé «operator ». Ensuite, vous définissez l’opérateur C++ que vous souhaitez surcharger. Sinon, la surcharge des opérateurs en C++ se comporte comme une surcharge de fonctions.
Présentation des opérateurs C++
Opérateurs arithmétiques
Certains des opérateurs arithmétiques C++ sont déjà connus depuis l’école. Ils fonctionnent avec des nombres et renvoient ensuite un nouveau nombre. À deux exceptions près (les plus et moins que nous pouvons considérer comme des signes), les opérateurs arithmétiques sont tous des opérateurs binaires.
Opérateur C++ | Signification | Exemple |
---|---|---|
+
|
Addition / plus unaire | 6 + 4
|
-
|
Soustraction / moins unaire | 10 - 6
|
*
|
Multiplication | 10* 3
|
/
|
Division | 20 / 10
|
%
|
Modulo | 21 % 2
|
Opérateurs d’affectation
Comme dans la plupart des langages de programmation, les valeurs sont stockées dans des variables en C++. Pour affecter des valeurs spécifiques à de telles variables, vous avez besoin d’opérateurs spéciaux.
Opérateurs d’affectation simples
Opérateur C++ | Signification | Exemple |
---|---|---|
=
|
Affectation simple | x = 3
|
++
|
Incrémenter | x++
|
--
|
Décrémenter | x--
|
Opérateurs d’affectation composés
En plus des opérateurs d’affectation simples, le C++ prend également en charge les opérateurs composés. Il s’agit d’opérations arithmétiques ou « bit à bit » connectées simultanément à une affectation de valeur :
int x = 4 ;
x += 2 ;
cppDans l’exemple de code ci-dessus, la variable « x » reçoit une valeur numérique de 4 selon une affectation simple. L’opérateur d’affectation composé « += » est ensuite utilisé pour effectuer un ajout arithmétique et stocker la valeur résultante directement dans « x ». L’affectation se présente comme suit : « x = x + 2 ».
Opérateur C++ | Signification | Exemple |
---|---|---|
+=
|
Somme et affectation | x += 2
|
-=
|
Soustraction et affectation | x -= 2
|
*=
|
Multiplication et affectation | x* = 2
|
/=
|
Division et affectation | x /= 2
|
%=
|
Modulo et affectation | x % = 2
|
&=
|
Opérateur de bits ET et affectation | b &= 1
|
<<=
|
Rotation à gauche et affectation | b <<= 1
|
>>=
|
Rotation à droite et affectation | b >>= 1
|
^=
|
Opérateur de bits OU et affectation | b ^= 1
|
` | =` | Opérateur de bits OU et affectation |
Opérateurs C++ logiques
Vous pouvez utiliser les opérateurs C++ logiques pour faire des comparaisons de deux expressions. À l’exception d’expression « non logique », qui fait toujours référence à une seule instruction et annule sa vraie valeur, les opérateurs logiques sont binaires.
Opérateur C++ | Signification | Exemple |
---|---|---|
&&
|
ET logique | true && true
|
` | ` | |
!
|
NON logique | !true
|
Opérateurs de comparaison
Les opérateurs de comparaison sont des opérateurs C++ qui examinent la relation entre deux éléments ; ils sont donc binaires. À l’exception de la comparaison à trois voies qui renvoie un nombre, la valeur renvoyée par tous les opérateurs de comparaison C++ est une vraie valeur.
Opérateur C++ | Signification | Exemple |
---|---|---|
==
|
Égalité | a == b
|
!=
|
Inégalité | a != b
|
<=
|
Inférieur ou égal à | a <= b
|
>=
|
Supérieur ou égal à | a >= b
|
<
|
Plus petit que | a < b
|
>
|
Plus grand que | a > b
|
<=>
|
Comparaison à trois | a <=> b
|
Manipulation des bits
Pour pouvoir accéder efficacement à des bits individuels et améliorer la vitesse des programmes, il existe des opérateurs de bits C++ qui sont particulièrement importants pour la programmation axée sur la performance.
Opérateur C++ | Signification | Exemple |
---|---|---|
&
|
Opérateur de bits ET | a & b
|
` | ` | Opérateur de bits OU |
^
|
Opérateur de bits OU exclusifs | a ^ b
|
~
|
Opérateur de complément à 1 | ~a
|
<<
|
Opérateurs de décalage vers la gauche | a << b
|
>>
|
Opérateurs de décalage vers la droite | a >> b
|
Gestion du stockage
C++ est un langage machine et propose donc un certain nombre d’opérateurs pour vous aider à gérer la mémoire.
Opérateur C++ | Signification | Exemple |
---|---|---|
&
|
Détermine l’adresse | & x
|
sizeof()
|
Détermine les besoins en mémoire d’une expression | sizeof(x)
|
new
|
Crée un nouvel objet et retourne des pointeurs | object* pointer = new object()
|
delete
|
Supprime un objet | delete object
|
Accès aux données pour les objets et les pointeurs
Les opérateurs C++ suivants vous aideront si vous souhaitez accéder aux membres individuels des objets ou aux zones de stockage des pointeurs.
Opérateur C++ | Signification | Exemple |
---|---|---|
*
|
Opérateur d’indirection | *pointer = 3;
|
.
|
Opérateurs d’accès aux membres | object.member = 2;
|
->
|
Opérateurs d’accès aux membres avec un pointeur | objectpointer-> member = 2 ;
|