C++规则的设计目标之一是,保证“类型错误绝对不会发生”。
转型会破坏类型系统。
旧式转型风格:
(T)express;
T(express);
新式转型:
<!--[if !supportLists]-->1、
<!--[endif]-->const_cast<T>(expression)。
单一对象可能拥有一个以上的地址,分别是以基类指针指向和子类指针指向。
由于知道“对象如何布局”设计的转型可能在某一平台上可以,但是其他的平台上却不可以。
请记住:
<!--[if !supportLists]-->1、
<!--[endif]-->如果可以,尽量避免转型,特别是在注重效率的代码中避免dynamic_casts。如果有个设计需要转型动作,请考虑无需转型的替代方案。
<!--[if !supportLists]-->2、
<!--[endif]-->如果转型是必须的,试着将它隐藏于某个函数背后,客户随后可以调用该函数,而不需要将转型放到自己的代码中。
<!--[if !supportLists]-->3、
<!--[endif]-->宁可使用c++-style(新式转型),不要使用旧式转型。前者容易辨认出来,而且也比较有着分门别类的职掌。也就是,新式转型目标很窄。
分享到:
相关推荐
C++学习书籍——effective c++ 3rd(中英文)
effective c++读书笔记和总结 effective c++读书笔记和总结
自己整理的侯捷版本<<Effective C++ 改善程序与设计的55个具体做法>> 学习笔记.
effective C++读书笔记,effective C++读书笔记,effective C++读书笔记
《Effective Modern C++:改善C++11和C++14的42个具体做法(影印版)(英文版)》中包括以下主题:剖析花括号初始化、noexcept规范、完美转发、智能指针make函数的优缺点;讲解std∷move,std∷forward,rvalue引用和全局...
原因十分显明:scott meyers 极富实践意义的c++ 研讨方式,描述出专家用以产出干净、正确、高效代码的经验法则和行事法则——也就是他们几乎总是做或不做的某些事。 这本书不是读完一遍就可以束之高阁的快餐读物,...
作者简介 作者:(美国)迈耶斯(Scott Meyers) 迈耶斯(Scott Meyers),二十多年来,Scott Meyers的Effective C++系列书籍(包括《Effective C++》《More Effective C++》和《Effective STL》)为C++编程语言...
摘录了《Effective C++》 (Scott Meyers 著)中有参考价值的编写代码建议,方面阅读
Effective C++跟more Effective c++
effective c++ & more effective c++ 纯文字版
More Effective C++ 简体中文版(pdf 版).pdf
中文版 chm Effective C++ More effective C++
电子版的effective c++ 和more effective c++ c++四书五经中介绍的经典书籍
effective C++,第一版和第二版是中文pdf,第三版是英文的pdf
对于 C++ ——一种以拥有非同寻常的能力范围和表现力而自豪的语言——更是尤其如此。如果能正确使用,与 C++ 共事是一件令人快乐的事情。极多样的设计样式被直接表达并有效实现。对于 classes(类),functions...
effective C++ 很好 很不错 最好的C++进阶资料
Scott Meyers 的Effective C++ 和More Effective C++ 是此类佼佼,Herb Sutter 的Exceptional C++ 则是後起之秀。 这类书籍的一个共通特色是轻薄短小,并且高密度地纳入作者浸淫於C++/OOP 领域多年而广泛的经验。...
Effective C++中文第三版,带书签
Effective C++中文版(第三版),C++进阶类书............
Praise for Effective C++, Third Edition