1.はstatic_cast
など、フロート*、短いとint型、ダブル、int型、void *型とint型*としてサポート変換の唯一の関連タイプ、比較的安全、
特長:コンパイル時に変換
2. const_case
CONST発現修飾または揮発性修飾、CONST /不揮発性の変換CONST /揮発性タイプを削除する、など。
CONST INT N = 100 。 INT * P =はconst_cast < INT *>(&N)。 * P = 234。
整数nは元のメモリは、それが今、非変更の整数値であります
出力nの場合は、その値が類似します。#define CONST、一定の交換で進行するので、100です!
3. reinterpret_castは
static_castは、変換の種類を達成するためのサプリメント、リスクが高いです
このようなint型のポインタの変換、の2種類としてポインタ A *およびB *変換......不注意な使用は、アクセス違反を引き起こす可能性があります!
4.のdynamic_cast
のみ使用されるクラスの継承ポインタ:のような、好ましくは継承されたアップキャストアップの間の変換、
派生* PD = 新しい派生(6 ); ベースの* pB = dynamic_castを<ベース*>(PD)。
要約:
static_cast最も一般的で比較的安全、reinterpret_castはは、注意して使用し、危険なキャスト
const_castをのみのみ継承されたクラスのためのプロセスのdynamic_cast、const型変数に使用。