1. ホーム
  2. c++

[解決済み] スタティック・キャストとダイナミック・キャスト [重複] の比較

2022-02-17 15:28:34

質問

<ブロッククオート

重複の可能性があります。
通常のキャストとスタティックキャストとダイナミックキャストの比較

スタティック・キャストとダイナミック・キャストの使い分けがよくわかりません。何か説明があればお願いします。

どのように解決するのですか?

使用方法 dynamic_cast は、基底クラスの型から派生クラスの型にキャストするときに使用します。 これは、キャストされるオブジェクトが実際に派生クラス型であるかどうかをチェックし、オブジェクトが目的の型でない場合は null ポインタを返します (参照型にキャストする場合は例外です。 bad_cast 例外)。

使用方法 static_cast この余分なチェックが必要でない場合は Arkaitzが言ったように dynamic_cast は余計なチェックを行うため、RTTI情報を必要とし、実行時のオーバーヘッドが大きくなります。 static_cast はコンパイル時に実行されます。