Conversions standard
Le langage C++ définit les conversions entre ses types fondamentaux.Elle définit également des conversions par le pointeur, la référence, et les types dérivés de pointeur vers membre.Ces conversions sont appelées « les conversions standard ». (Pour plus d'informations sur les types, les types standard, les types dérivés, consultez types.)
Cette section traite des conversions standard suivantes :
conversions de pointeur vers membre
[!REMARQUE]
les types définis par l'utilisateur peuvent spécifier leurs propres conversions.la conversion des types définis par l'utilisateur est couverte 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;
[!REMARQUE]
Le résultat d'une conversion est une l-value uniquement s'il produit un type référence.Par exemple, une conversion définie par l'utilisateur déclarée comme
operator int&()
[!REMARQUE]
retourne une référence et est une l-value.Toutefois, une conversion déclarée comme
operator int()
[!REMARQUE]
retourne un objet et n'est pas une l-value.