C ++ 4つの新しい変換関数

  1. Cスタイルの変革アクション
(T)expression //将expression转型为T
  1. 機能的なスタイルの移行アクション
T(expression) //将expression转型为T
  1. C ++の4つの新しい変換
const_cast<T>(expression)
dynamic_cast<T>(expression)
reinterpret_cast<T>(expression)
static_cast<T>(expression)
  • const_cast:オブジェクトの定数を変換するために使用できる唯一のキャスト演算子です。
  • dynamic_cast:主に「安全なダウンキャスト」を実行するために使用されます。つまり、オブジェクトが継承システムの特定のタイプに属しているかどうかを判断します(ポインターから派生へのポインターからベースへの変換)。古いスタイルの文法では実行できない唯一のアクションは、かなりの運用コストがかかる可能性がある唯一の変換アクションです。
  • reinterpret_cast:目的は、低レベルの変換(pointerからintへの変換など)を実行することです。実際のアクションと結果はコンパイラーによって異なる場合があります。つまり、移植性はありません。
  • static_cast:暗黙的な変換を強制するために使用されます。また、上記の複数の変換の逆変換を実行するために使用することもできます。

おすすめ

転載: blog.csdn.net/gaggagaasd/article/details/108895670