const_cast(型キャスト演算子)
カテゴリ
構文
const_cast< T > (arg)
説明
const_cast 演算子を使用すると、修飾子 const や volatile を、型に対して追加または削除することができます。
文、const_cast< T > (arg) では、T と arg は修飾子 const および volatile を除き、同じ型でなければなりません。キャストはコンパイル時に解決されます。結果は型 T です。好きな数の修飾子 const や volatile を、1 つの const_cast 式に対して、追加または削除することができます。
const へのポインタは、ほかのすべての点で同じ型である 非 const へのポインタに変換することができます。成功した場合、その結果のポインタは基のオブジェクトを参照しています。
const オブジェクトまたは const キャストへの参照は、非 const オブジェクトまた、そうでなければ同じ型の参照となります。
const_cast 演算子は、volatile 修飾子に対しても同様の型キャストを行います。volatile オブジェクトへのポインタは、オブジェクトの型は変更することなく、非 volatile オブジェクトへのポインタにキャストされます。 結果は、基のオブジェクトへのポインタになります。volatile 型のオブジェクトまたはvolatile 型への参照は、同一の非 volatile 型へ変換することができます。type.