型キャスト(type casting)によって、プログラマが明示して型変換(explicit type conversion)を行うことができる。 標準変換のような暗黙変換とは異なり、コード上に変換の意図を書く。

  • static_cast
  • dynamic_cast
  • const_cast: 用途が限定的で注意が必要
  • reinterpret_cast: 用途が限定的で注意が必要
  • Cスタイルキャスト(C-style cast): 上記のキャストとして(いくつか組み合わせて)振る舞う。

Cスタイルキャスト

現代のC++プログラミングでは、いくつかの理由で推奨されない:

  • どの種類のキャストが行われるか明確でないため。

この順でキャストが試される:

  1. const_cast
  2. static_cast
  3. static_castの後にconst_cast
  4. reinterpret_cast
  5. reinterpret_castの後にconst_cast
(型)式

関数スタイルキャスト

function-style cast

型(式)

これはCスタイルキャストに近い書き方だが、別の構文表記である。

参考