C++强制转换

C++强制转换

C++中经常会出现数据的类型转换,例如数组转换为指针,int转换为long,这些都属于隐式转换,更重要的是C++提供了四种强制的显示类型转换:
static_cast,dynamic_cast,const_cast和reinterpret_cast。
其中dynamic_cast支持运行时类型识别。

static_cast

任何具有明确定义的转换,只要不包含底层const都可以使用static_cast进行转换:

int j = 0;
double k = static_cast<double>(j);
//将j从int显示转换成double
int l = static_cast<int>(k);
//将double显示转换成int,不在乎精度的丢失

dynamic_cast

见我的博客dynamic_cast

const_cast

const_cast只能改变运算对象的底层const,实际并不会改变,只是一个const away的过程,只是将限定符去掉,但对象仍然不可以改变。见
const_cast详解

reinterpret_cast

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值