C++强制转换

static_cast,dynamic_cast, const_cast, reinterpret_cast

  • dynamic_cast比static_cast多了安全检测,判断源和目标有无继承被继承关系,所以强制将父类指针赋给子类指针的时候只能用static_cast。如class D:public B{};B* pb; D* pd = static_cast<D*>(pb);
  • const_cast用于强制消除对象的常量性
  • reinterpret_cast是特意用于底层的强制转型,如将一个指针转型为一个整数

posted on 2014-12-24 06:18  joannae  阅读(135)  评论(0编辑  收藏  举报

导航