ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

キャスト

C++のキャストのまとめ。

static_cast

intやfloatなどの変換に使うキャスト。型変換が行われる。Cでのキャストと同じようなもの。

reinterpret_cast

単なる型変更のキャスト。型変換は行われない。ポインタと整数を変換するとか、ある型のポインタから別の型のポインタにするときに使う。

const_cast

const属性を外すときに使う。基本的にこれが必要になったら設計を見なおしたほうが良い。

dynamic_cast

正しくキャストできるときにはキャストし、できないときはnullを返す。ある派生クラスのオブジェクトを親クラスのポインタで受け取ったとき、派生クラスへとdynamic_castできれば、その派生クラスであると知ることができる。


C++でキャストするときも、ついつい括弧を使ったC言語のキャストを使ってしまう。出来る限り、これらのキャストを使うようにしよう。一番の利点は検索して見つけやすいということ。