27 尽量少做类型转换——effective c++学习笔记

C++规则的设计目标之一是,保证“类型错误绝对不会发生”。

转型会破坏类型系统。

旧式转型风格:

(T)express

T(express)

新式转型:

1、  const_cast<T>(expression)

单一对象可能拥有一个以上的地址,分别是以基类指针指向和子类指针指向。

由于知道“对象如何布局”设计的转型可能在某一平台上可以,但是其他的平台上却不可以。

请记住:

1、  如果可以,尽量避免转型,特别是在注重效率的代码中避免dynamic_casts。如果有个设计需要转型动作,请考虑无需转型的替代方案。

2、  如果转型是必须的,试着将它隐藏于某个函数背后,客户随后可以调用该函数,而不需要将转型放到自己的代码中。

3、  宁可使用c++-style(新式转型),不要使用旧式转型。前者容易辨认出来,而且也比较有着分门别类的职掌。也就是,新式转型目标很窄。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值