C++类型转换

1.static_cast  实现C++内置类型的相关转换 如int double struct 等,但不能进行不是基类和子类的转换。

 如 int i,double t,i=static_cast<int>(t)

2.const_cast  实现将常量指针转换成非常量指针

  如 const int *a;int *b=const_cast<int *>(a);

3.dynamic_cast   运行时执行,它将基类的指针或引用安全的转换为子类的指针或引用。基类必须要有虚函数

   class A

  {

   public:

   virtual foo(){}

}

 class T:public A

{

foo(){};

}

  A*a=new T;

 T*t;

 t=dynamic_cast<T*>(a);

4.reinterpret_cast   允许任意内置的数据类型转换成其他类型

如int i, char *p="hello",i=reinterpret_cast<int>(p);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值