Conversioni standard
Il linguaggio C++ definisce le conversioni tra i relativi tipi di base.Definisce inoltre le conversioni del puntatore, il riferimento e i tipi derivati di puntatore a membro.queste conversioni sono chiamate “conversioni standard.„ (Per ulteriori informazioni sui tipi, i tipi standard e i tipi derivati, vedere tipi).
In questa sezione vengono illustrate le seguenti traduzioni standard:
conversioni Puntatore a membro
[!NOTA]
I tipi definiti dall'utente possono specificare le proprie conversioni.La conversione dei tipi definiti dall'utente è descritta in costruttori e conversioni.
Il codice seguente genera le conversioni (in questo esempio, promozioni integrali):
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;
[!NOTA]
Il risultato di una conversione è un l-value solo se genera un tipo riferimento.Ad esempio, una conversione definita dall'utente dichiarata come
operator int&()
[!NOTA]
restituisce un riferimento ed è un l-value.Tuttavia, una conversione dichiarata come
operator int()
[!NOTA]
restituisce un oggetto e non è un l-value.