Conversions standard
Le langage C++ définit les conversions entre ses types fondamentaux. Il définit également les conversions pour les types dérivés de pointeur, de référence et de pointeur vers membre. Ces conversions sont appelées « conversions standard ». (Pour plus d'informations sur les types, les types standard et des types dérivés, consultez Types.)
Cette section décrit les conversions standard suivantes :
Conversions de pointeur vers membre
Notes
Les types définis par l'utilisateur peuvent spécifier leurs propres conversions.La conversion des types définis par l'utilisateur est décrite dans Constructeurs et Conversions.
Le code suivant provoque des conversions (dans cet exemple, promotions intégrales) :
long lnum1, lnum2;
int inum;
// inum promoted to type long prior to assignment.
lnum1 = inum;
// inum promoted to type long prior to multiplication.
lnum2 = inum * lnum2;
Notes
Le résultat d'une conversion est une l-value uniquement si elle produit un type référence.Par exemple, une conversion définie par l'utilisateur déclarée sous la forme
operator int&()
Notes
retourne une référence et est une l-value.En revanche, une conversion déclarée sous la forme
operator int()
Notes
retourne un objet et n'est pas une l-value.