Konwersje standardowe
Język C++ definiuje konwersje między typami podstawowymi.Definiuje również konwersje dla wskaźnika, odwołania i typów pochodnych wskaźnika do elementu członkowskiego.Konwersje te są nazywane "konwersjami standardowymi." (Aby uzyskać więcej informacji dotyczących typów, typów standardowych i typów pochodnych, zobacz Typy.)
W tej sekcji omówiono następujące konwersje standardowe:
Konwersje wskaźników do elementów członkowskich
[!UWAGA]
Typy zdefiniowane przez użytkownika mogą określać własne konwersje.Konwersje typów zdefiniowanych przez użytkownika są omówione w Konstruktory i Konwersje.
Poniższy kod powoduje konwersje (w tym przykładzie, promocje całkowite):
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;
[!UWAGA]
Wynik konwersji jest wartością l, tylko jeśli produkuje typ odwołania.Na przykład, konwersja zdefiniowana przez użytkownika jest zadeklarowana jako
operator int&()
[!UWAGA]
zwraca odwołanie i jest wartością l.Jednak konwersja zadeklarowany jako
operator int()
[!UWAGA]
zwraca obiekt i nie jest wartością l.