版权声明:如需转载请博客下面留言,并在转载时请标明出处,并附带链接! https://blog.csdn.net/patrick_star_cowboy/article/details/80288853
//推荐你去亲自读一下More Effective C++和Effective C++这两本书。很棒的
//每一个阿拉伯数字代表一个改善编程与设计的有效方法
- 当你知道你需要指向某个东西,而且绝不会改变指向其他东西,或是当你实现一个操作符而其语法需求无法由一个pointer达成,此时应该选择引用。任何其他时候,请采用pointer。
- 在某种必须使用转型的情况下,最好使用C++转型操作运算符。
- 优点:容易被解析, 编译器也能因此诊断转型错误。
- 每次转型都能够更明确的指明意图,并且可以告诉你是否转型成功
- 优点:容易被解析, 编译器也能因此诊断转型错误。
- 多态不能和指针算术混用。而数组对象几乎总是会涉及指针的算术运算, 所以多态不要和数组混用。
4.缺乏默认构造函数的三个限制:
a.产生数组时出问题。
b.这个类不适用于许多基于模板的容器类。
c.虚基类的构造函数的自变量必须由欲产生的对象的派生层次最深的类来提供。
添加无意义的默认构造函数,也会影响类的效率, 付出时间和空间成本。除非类的构造函数可以确保对象的所有字段可以被正确的初始化,这些成本都可以免除。
如果默认构造函数无法提供上面这个保证,最好避免默认构造函数的出现。虽然这个会有那三个限制,但也带来了一种保证:当你真的使用了这样的class,你可以预期他们产生的对象会被完全的初始化,实现上也更加的有效率。