const_cast(型変換演算子)

提供: Appmethod Topics
移動先: 案内検索

キーワード(アルファベット順):インデックス への移動


カテゴリ

C++ 特有のキーワード

構文



 const_cast< T > (引数)



解説

const_cast 演算子を使うと,const 修飾子あるいは volatile 修飾子を型に付けたり,型から削除できます。

式 const_cast< T >(arg)では,T および arg は,const 修飾子および volatile 修飾子が付いているかどうかを除いて,同じ型でなければなりません。キャストはコンパイル時に解決されます。結果の型は T です。1 つの const_cast 式で,const 修飾子や volatile 修飾子をいくつでも付けたり削除したりできます。

const へのポインタは,ほかのすべての点では同じ型である const ではないオブジェクトへのポインタに変換されます。成功した場合,ポインタは元のオブジェクトへの参照となります。

const オブジェクトまたは const キャストへの参照は,ほかのすべての点では同じ型である,非 const のオブジェクトまたは参照になります。

const_cast 演算子は volatile 修飾子と同様の型変換を行います。volatile オブジェクトへのポインタは,volatile ではないオブジェクトへのポインタに型変換されます。オブジェクトの型はほかの点では変更されず,元のオブジェクトを指すポインタになります。volatile 型のオブジェクトまたは volatile 型の参照は,対応する volatile ではない型に変換されます。

関連項目