首页 > 代码库 > C++的类型转换

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;

 

C++的类型转换