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 :
E1
est un type arithmétique qualifié ou non etE2
est un type arithmétique.E1
est une version qualifiée ou non d'un type structure ou union compatible avec celui deE2
.E1
etE2
sont 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
, soitE2
est 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. E1
est un pointeur etE2
est 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.