Standardní převody
Jazyk C++ definuje převody mezi základními typy.Definuje také převody pro ukazatel, odkaz a pro odvozené typy ukazatele na člena.Tyto převody jsou označovány jako "standardní převody." (Další informace o typech, standardních typech a odvozených typech naleznete v tématu Typy.)
Tato část popisuje následující standardní převody:
-
[!POZNÁMKA]
Typy definované uživatelem mohou zadat své vlastní převody.Převod uživatelem definovaných typů je obsažen v tématech Konstruktory a Převody.
Následující kód provede převody (v tomto případu integrální povýšení):
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;
[!POZNÁMKA]
Výsledkem převodu je l hodnota pouze v případě, že vytvoří typ odkazu.Například uživatelem definovaný převod, který je deklarován jako
operator int&()
[!POZNÁMKA]
vrátí odkaz a je to l hodnota.Ovšem převod deklarovaný jako
operator int()
[!POZNÁMKA]
Vrátí objekt a není l hodnota.