条款27:尽量少做转型动作

/********************************
老式:
(T)expression
T(expression)


新式:
const_cast<T>(expression); //将对象的常量性转除
dynamic_cast<T>(expression); //安全向下转型, base转drived
reinterpret_cast<T>(expression); //执行低级转型,例如将pointer to int转成int, 在低级代码以外很少见
static_cast<T>(expression); //强迫隐式转换,
*********************************/


尽量使用“使用类型安全容器”和“将virtual函数往继承体系上方移动”做为dynamic_cast的替代方案

请记住
》如果可以尽量避免转型, 特别是在注重效率的代码中避免使用dynamic_cast.
》如果转型是必要的试着将他隐藏在某个函数背后。 客户可以随后调用该函数,而不需要将转型放到他们自己的代码内。
》使用C++风格的新式转型,不要使用C式的旧式转型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值