next up previous
Next: Test if Up: Quelques instructions courantes Previous: Quelques instructions courantes

Opérateurs

On appelle opérateurs des fonctions à deux arguments donc le premier a la particularité de se trouver devant la fonction lorsqu'on l'appelle. Par exemple la fonction qui retourne la somme de deux entiers, comme dans:
int a = 3 + 4;
peut être vue comme une fonction operator+() dont la déclaration ressemblerait à:
int operator+(int x, int y);

Le symbole = de l'affectation désigne également une fonction. Par exemple dans:
int a;
a = 4;
l'affectation peut être vu comme un appel à la fonction:
int operator=(int& x, int y);
qui prendrait comme argument une référence sur la variable de gauche (pour pouvoir modifier son contenu) ainsi qu'une valeur de type int. La fonction renvoie un int (une copie du contenu de x) afin de pouvoir utiliser l'écriture condensée b = a = 4; si b est un autre int dont on veut qu'il vale également 4.

Les opérateurs courants sur les int sont:

Des opérateurs similaires existent sur les autres types (double, float, long, etc.). Dans le cas où un opérateur courant est appelé sur des variables de types différents (par exemple un int et un double), le compilateur choisit l'opérateur sur le type qui a le plus de précision (donc ici double), sauf bien entendu s'il s'agit d'un opérateur d'affectation auquel cas le membre de droite sera copié dans une variable temporaire du bon type. Ainsi:
2 / 5. appelle l'opérateur de division sur les double
int a; a = 4.3; convertit 4.3 en un int de valeur 4 et affecte 4 à a.


next up previous
Next: Test if Up: Quelques instructions courantes Previous: Quelques instructions courantes
Guillaume Charpiat 2006-12-07