Delen via


Type-Cast conversies

U kunt typecasts gebruiken om typen expliciet te converteren.

Syntaxis

cast-expression:
unary-expression
( type-name ) cast-expression

type-name:
specifier-qualifier-list abstract-declarator opteren

Het type-name is een type en cast-expression is een waarde die naar dat type moet worden geconverteerd. Een expressie met een typecast is geen l-waarde. De cast-expression wordt geconverteerd alsof deze is toegewezen aan een variabele van het type type-name. De conversieregels voor toewijzingen (beschreven in Toewijzingsconversies) zijn ook van toepassing op typecasts. In de volgende tabel ziet u de typen die naar een bepaald type kunnen worden gecast.

Doeltypen Mogelijke bronnen
Integrale typen Een geheel getaltype of een drijvende-kommatype, of aanwijzer naar een object
Drijvende komma Elk rekenkundig type
Een aanwijzer naar een object of void * Een geheel getal, void *een aanwijzer naar een object of een functieaanwijzer
Functie-aanwijzer Elk integraal type, een aanwijzer naar een object of een functieaanwijzer
Een structuur, samenvoeging of matrix Geen
Ongeldig type Alle soorten

Elke id kan worden gecast naar type void . Als het type dat is opgegeven in een typecast-expressie echter niet voidis, kan de id die naar dat type wordt gecast, geen expressie zijn void . Elke expressie kan worden gecast naar void, maar een expressie van het type void kan niet naar een ander type worden gecast. Een functie met void een retourtype kan bijvoorbeeld niet de geretourneerde cast naar een ander type hebben.

Een void * expressie heeft een type aanwijzer naar void, niet type void. Als een object wordt gecast om te void typen, kan de resulterende expressie niet worden toegewezen aan een item. Op dezelfde manier is een type-cast-object geen acceptabele l-waarde, dus er kan geen toewijzing worden gemaakt aan een type-cast-object.

Microsoft-specifieke

Een typecast kan een expressie met l-waarden zijn, zolang de grootte van de id niet verandert. Zie L-Value- en R-Value-expressies voor informatie over l-value-expressies.

Microsoft-specifieke beëindigen

U kunt een expressie converteren naar type void met een cast, maar de resulterende expressie kan alleen worden gebruikt als een waarde niet vereist is. Een objectaanwijzer die is geconverteerd naar void * en terug naar het oorspronkelijke type, wordt teruggezet naar de oorspronkelijke waarde.

Zie ook

Typeconversies