コンパクトに纏まっています.static_castはexprの型からtypeへの暗黙の型変換、あるいはtypeからexprへの暗黙の型変換が存在する場合にだけキャストします。キャスト不可能であればコンパイルエラーとなります。reinterpret_castはtype(expr)が許されるなら、exprをtypeに単にキャストします。reinterpret_castは単なる型変更であり、たとえ派生関係があったとしてもポインタのアドレス自体はキャスト前と変わりません。その意味でreinterpret_castは非常に危険なキャストといえるでしょう。const_castはconstおよびvolatile修飾子を無効にするだけのキャストを行ないます。そのほかのときはコンパイルエラーとします。参照)への型保証キャストを行ないます。上記3種のキャストはコンパイル時にキャストしますが、dynamic_castは実行時に型の検査が行なわれ、変換不可能であれば0を返します。クロス・キャスト、そして抽象基底クラスからのダウン・キャストが可能になりました。3種類を纏めたものになります.C形式のキャストは、const_caststatic_caststatic_castとconst_castreinterpret_castreinterpret_castとconst_castこのような順番と組み合わせで表現できる。これらのキャストを上から順番に試していき、キャストが行えるところで、そのキャストを行う。ソフトウェアを開発しています。0.5.5βこのブログのこれまでとこれから注目記事スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。