More Effective c++阅读

来源:互联网 发布:光大证券mac无法登陆 编辑:程序博客网 时间:2024/06/06 19:58

条款3:不要以多态来处理数组:

继承最重要的性质之一就是:可以通过指向“base class objects”的pointer 或 reference,来操作derived class object。

但是如果一个声明是父类对象数组的操作函数,但是如果操作子类,但是由于子类比父类在内存中占据的空间大,那么遍历的时候,还是按照父类对象的内存大小一个个走,遍历子类对象的时候就会犯错。

总结:因为多态和指针算术不能混用,但是呢数组对象几乎总是会涉及指针的算术运算,所以数组和多态不要混用。


条款4:非必要不提供default constructor