可能性のある複製:
static_cast、dynamic_cast、およびreinterpret_castはいつ使用する必要がありますか?
このC++コードを使用すると、
char* a = (char*) b;
警告warning: use of old-style cast
。
新しいスタイルのキャストは何ですか?
reinterpret_cast
、static_cast
、dynamic_cast
およびconst_cast
はc ++キャストの代替です。
const_cast
const変数からconst/volatileを削除します。dynamic_cast
ポリモーフィック型間でキャストするときに実行時の妥当性チェックを実行しますstatic_cast
継承階層でアップキャスト/ダウンキャストを実行しますが、ランタイムチェックは行いません。または、暗黙的に変換を明示的に実行します(たとえば、floatからintへ)reinterpret_cast
無関係な型の間で変換します。このトピックを読んで、さまざまなフレーバーのC++スタイルのキャストについて知ってください。
static_cast、dynamic_cast、const_cast、reinterpret_castはいつ使用する必要がありますか?