Aracılığıyla paylaş


Type-Cast Dönüştürmeleri

Türleri açıkça dönüştürmek için tür atamalarını kullanabilirsiniz.

Sözdizimi

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

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

type-name bir türdür ve cast-expression bu türe dönüştürülecek bir değerdir. Tür ataması olan bir ifade l değeri değildir. cast-expression türündeki bir değişkene type-nameatanmış gibi dönüştürülür. Atamalar için dönüştürme kuralları ( Atama Dönüştürmeleri'nde özetlenmiştir) tür atamaları için de geçerlidir. Aşağıdaki tabloda, belirli bir türe yayınlanabilir türler gösterilmektedir.

Hedef Türleri Olası Kaynaklar
İntegral türleri Herhangi bir tamsayı türü veya kayan nokta türü ya da nesne işaretçisi
Kayan nokta Herhangi bir aritmetik tür
Nesne işaretçisi veya void * Herhangi bir tamsayı türü, void *nesne işaretçisi veya işlev işaretçisi
İşlev işaretçisi Herhangi bir tam sayı türü, nesne işaretçisi veya işlev işaretçisi
Yapı, birleşim veya dizi Hiç kimse
Geçersiz tür Herhangi bir tür

Herhangi bir tanımlayıcı türüne void göre ayarlanabilir. Ancak, tür atama ifadesinde belirtilen tür değilse void, bu türe atılan tanımlayıcı bir void ifade olamaz. Herhangi bir ifade olarak voidatanabilir, ancak türünde void bir ifade başka bir türe atanamaz. Örneğin, dönüş türüne sahip void bir işlevin dönüş türü başka bir türe döndürülemez.

İfadenin void * türüne değil, türüne voidişaret eden bir tür voidişaretçisi vardır. Bir nesne türe void yayınlanırsa, sonuçta elde edilen ifade hiçbir öğeye atanamaz. Benzer şekilde, tür atama nesnesi kabul edilebilir bir l değeri olmadığından tür atama nesnesine atama yapılamaz.

Microsoft'a Özgü

Tür ataması, tanımlayıcının boyutu değişmediği sürece bir l-değer ifadesi olabilir. l-value ifadeleri hakkında bilgi için bkz. L-Value ve R-Value İfadeleri.

END Microsoft'a Özel

Bir ifadeyi türe void dönüştürme ile türe dönüştürebilirsiniz, ancak sonuçta elde edilen ifade yalnızca bir değerin gerekli olmadığı durumlarda kullanılabilir. Özgün türe ve özgün türe void * geri dönüştürülen nesne işaretçisi özgün değerine döner.

Ayrıca bakınız

Tür Dönüştürmeleri