Visual Studio 2017 を使用することをお勧めします

型キャスト変換

 

公開日: 2016年7月

Visual Studio 2017 RC の最新のドキュメントの詳細については、Visual Studio 2017 RC ドキュメントをご参照ください。

型キャストを使用して、明示的に型を変換できます。

構文

cast-expression:
unary expression

(  type-name  )  cast-expression

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

type-name は型であり、cast-expression は、その型に変換される値です。 型キャストがある式は左辺値ではありません。 cast-expression は、type-name 型の変数に代入されたかのように変換されます。 代入の変換規則 (「Assignment Conversions (代入変換)」を参照) は、型キャストにも適用されます。 特定の型にキャストできる型を次の表に示します。

有効な型キャスト

変換先の型可能性のある変換元
整数型任意の整数型または浮動小数点型、またはオブジェクトへのポインター
浮動小数点数任意の数値型
オブジェクトへのポインター、または (void *)任意の整数型、(void *)、オブジェクトへのポインター、または関数ポインター
関数ポインター任意の整数型、オブジェクトへのポインター、または関数ポインター
構造体、共用体、または配列なし
void 型任意の型

void 型には、任意の識別子からキャストできます。 ただし、型キャスト式で指定された型が void でない場合、その型にキャストされている識別子を void 式にすることはできません。 任意の式を void にキャストできますが、void 型の式を他の型にキャストすることはできません。 たとえば、戻り値の型が void の関数では、戻り値を別の型にキャストすることはできません。

void * 式は、void 型ではなく、void への型ポインターを持つことに注意してください。 オブジェクトが void 型にキャストされる場合、結果の式はどの項目にも代入できません。 同様に、型キャスト オブジェクトは許容される左辺値ではないので、型キャスト オブジェクトへの代入はできません。

Microsoft 固有の仕様 →

識別子のサイズが変更されない限り、型キャストを左辺値の式にできます。 左辺値式の詳細については、「左辺値と右辺値の式」を参照してください。

END Microsoft 固有の仕様

キャストで式を型 void に変換できますが、その結果の式を使用できるのは、値が不要な場合のみです。 void * に変換され、元の型に戻されたオブジェクト ポインターは、元の値に戻ります。

型変換

表示: