Sdílet prostřednictvím


Převody přetypování

Pomocí přetypování typu lze explicitně převést typy.

Syntax

  • výraz-přetypování:
    unární výraz

    ( název-typu ) výraz-přetypování

  • název-typu:
    seznam-kvalifikátorů-specifikátoru abstraktní-deklarátor volitelné

název-typu je typ a výraz-přetypování je hodnota, která se má na daný typ převést.Výraz s přetypováním typu není l-hodnota.výraz-přetypování je převeden, jako by byl přiřazen proměnné typu název-typu.Pravidla převodu pro přiřazení (uvedené v tématu Převody přiřazení) jsou při přetypování typu také použita.Následující tabulka uvádí typy, které lze převést na libovolný uvedený typ.

Možné přetypování typu

Cílové typy

Potenciální zdroje

Celočíselné typy

Jakýkoli celočíselný typ, typ s plovoucí desetinnou čárkou nebo ukazatel na objekt

Číslo s plovoucí desetinnou čárkou

Jakýkoli aritmetický typ

Ukazatel na objekt nebo ukazatel (void *)

Libovolný celočíselný typ, ukazatel (void *), ukazatel na objekt nebo ukazatel na funkci

Ukazatel na funkci

Libovolný celočíselný typ, ukazatel na objekt nebo ukazatel na funkci

Struktura, sjednocení nebo pole

Žádná

Typ void

Libovolný typy

Jakýkoli identifikátor lze převést na typ void.Avšak pokud typ zadaný ve výrazu přetypování typu není typ void, pak identifikátor převedený na tento typ, nemůže být výraz void.Libovolný výraz lze převést na typ void, ale výraz typu void nelze převést na jiný typ.Například, funkce s návratovým typem void nemůže svou návratovou hodnotu přetypovat na jiný typ.

Všimněte si, že výraz void * obsahuje ukazatel na typ void, ne typ void samotný.Pokud je objekt přetypován na typ void, výsledný výraz nelze přiřadit do libovolné položky.Podobně, objekt přetypování typu není přijatelná l-hodnota, takže objektu přetypování typu nelze provést žádné přiřazení.

Specifické pro produkty společnosti Microsoft

Přetypování typu může být výraz l-hodnoty, dokud se velikost tohoto identifikátoru nezmění.Další informace o výrazech l-hodnot naleznete v tématu Výrazy L-hodnot a P-hodnot.

Specifické pro produkty společnosti Microsoft - konec

Výraz lze převést na typ void pomocí přetypování, ale výsledný výraz lze použít pouze tam, kde hodnota není vyžadována.Ukazatel na objekt převedený na void * a zpět na původní typ, vrátí svou původní hodnotu.

Viz také

Koncepty

Převody typu (C)