Opérateurs d'assignation
Remonter à Opérateurs binaires - Index
Syntaxe
unary-expression assignment-op assignment-expression
Remarques
Voici la liste des opérateurs d'assignation :
= *= /= %= += -=<<= >>= &= ^= |=
L'opérateur = est le seul opérateur d'assignation simple, les autres sont des opérateurs d'assignation composés.
Dans l'expression E1 = E2, E1 doit être une lvalue modifiable. L'expression d'assignation n'est pas elle-même une lvalue.
L'expression
E1 op= E2
a le même effet que :
E1 = E1 op E2
en dehors du fait que la lvalue E1 n'est évaluée qu'une fois. Par exemple, E1 += E2 est équivalent à E1 = E1 + E2.
La valeur de l'expression est E1 après son évaluation.
Pour les assignations simples et composées, les opérandes E1 et E2 doivent obéir à l'une des règles suivantes :
E1est un type arithmétique qualifié ou non etE2est un type arithmétique.E1est une version qualifiée ou non d'un type structure ou union compatible avec celui deE2.E1etE2sont des pointeurs sur des versions qualifiées ou non, de types compatibles. Le type pointé par le membre gauche a tous les qualificateurs du type pointé par le membre droit.- Soit
E1, soitE2est un pointeur sur un objet ou un type incomplet et l'autre est un pointeur sur une version qualifiée ou non du type void. Le type pointé par le membre gauche a tous les qualificateurs du type pointé par le membre droit. E1est un pointeur etE2est une constante pointeur NULL.
Remarque : Les espaces séparant les opérateurs composés (
+<espace>=) génèreront des erreurs.
Remarque : Il existe certaines conditions dans lesquelles les opérateurs d'assignation ne sont pas gérés lors de l'utilisation avec les propriétés.