Conversões padrão
A linguagem C++ define conversões entre seus tipos básicos. Ela também define conversões para o ponteiro, referência e tipos derivados de ponteiro ao membro. Essas conversões são chamadas de “conversões padrão”. (Para obter mais informações sobre tipos, tipos padrão e derivados, consulte Tipos.)
Esta seção aborda as seguintes conversões padrão:
Conversões de ponteiro ao membro
Dica
Os tipos definidos pelo usuário podem especificar suas próprias conversões.A conversão de tipos definidos pelo usuário está coberta em Construtores e em Conversões.
O código a seguir causa conversões (neste exemplo, promoções de integral):
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;
Dica
O resultado de uma conversão é um l-value somente se ela produzir um tipo de referência.Por exemplo, uma conversão definida pelo usuário declarada como
operator int&()
Dica
retorna uma referência e é um l-value.No entanto, uma conversão declarada como
operator int()
Dica
retorna um objeto e não é um l-value.