Standard Conversions

The C++ language defines conversions between its fundamental types. It also defines conversions for pointer, reference, and pointer-to-member derived types. These conversions are called "standard conversions." (For more information about types, standard types, and derived types, see Types.)

This section discusses the following standard conversions:

The following code causes conversions (in this example, integral promotions):

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;
NoteNote

The result of a conversion is an l-value only if it produces a reference type. For example, a user-defined conversion declared as

operator int&()
NoteNote

returns a reference and is an l-value. However, a conversion declared as

operator int()
NoteNote

returns an object and is not an l-value.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft