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();
}
cpp

Dans 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 ;
cpp

Dans 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 ;