您的位置:首页 > 编程语言 > C语言/C++

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

2011-04-08 21:46 295 查看
C++规则的设计目标之一是,保证“类型错误绝对不会发生”。

转型会破坏类型系统。
旧式转型风格:
(T)express;
T(express);
新式转型:
1、
const_cast<T>(expression)。
单一对象可能拥有一个以上的地址,分别是以基类指针指向和子类指针指向。
由于知道“对象如何布局”设计的转型可能在某一平台上可以,但是其他的平台上却不可以。
请记住:
1、
如果可以,尽量避免转型,特别是在注重效率的代码中避免dynamic_casts。如果有个设计需要转型动作,请考虑无需转型的替代方案。
2、
如果转型是必须的,试着将它隐藏于某个函数背后,客户随后可以调用该函数,而不需要将转型放到自己的代码中。
3、
宁可使用c++-style(新式转型),不要使用旧式转型。前者容易辨认出来,而且也比较有着分门别类的职掌。也就是,新式转型目标很窄。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: