C++的类型转换

static_cast

  1. 可以用来类的上行转换,也可以用来下行转换,但这样可呢有安全问题
  2. 用来void* 的转换
  3. 整形之类的非指针转换

dymanic_cast

  1. 用于指针和引用的转换
  2. 用于上行转换,下行转换回失败
  3. 如果不是完整的原对象将会失败。

const_cast

用于转换const属性的对象。 或者移除。

class C{};
const C * a = new C;
C *b = const_cast<C*>a;

 

posted @ 2014-12-29 21:44  媛媛画  阅读(177)  评论(0编辑  收藏  举报