const_cast
読み:コンスト-キャスト
外語:const_cast

 C++の予約語の一つ。
目次

特徴
 次の形で、型キャスト(型変換)に用いる。
 const_cast <型> (変数)
 対象変数のconstおよびvolatile修飾子を外す働きを持つ。それ以外はコンパイル時にエラーとなる。

用途
 C++では、非constからconstへの型キャストは暗黙で行なわれるが、その逆は明示的な型キャストが必要である。
 これを無視してconstから非constへの変換をしようとしても、コンパイルエラーが発生する。
 もし、このようなことをしたい場合、C++ではconst_cast演算子を使う。
 int *p = 123;
 const int *cp = 456;
 p = const_cast<int*>(cp);
 通常、constは書き換えられたくない関数の引数などに使われる。これを強引に書き換える場合、その影響も考慮に入れなければならない。

再検索