Opérateurs d'affectation

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Opérateurs binaires - Index

Syntaxe

expression-unaire  opérateur-affectation  expression-affectation


Remarques

Voici la liste des opérateurs d'affectation :

=    *=     /=     %=    +=    -=
<<=  >>=    &=     ^=    |=

L'opérateur = est le seul opérateur d'affectation simple, les autres sont des opérateurs d'affectation composés.

Dans l'expression E1 = E2, E1 doit être une lvalue modifiable. L'expression d'affectation 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 affectations simples et composées, les opérandes E1 et E2 doivent obéir à l'une des règles suivantes :

  1. E1 est un type arithmétique qualifié ou non et E2 est un type arithmétique.
  2. E1 est une version qualifiée ou non d'un type structure ou union compatible avec celui de E2.
  3. E1 et E2 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.
  4. Soit E1, soit E2 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.
  5. E1 est un pointeur et E2 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'affectation ne sont pas gérés lors de l'utilisation avec les propriétés.