More Effective C++读书笔记
BYR_jiandong
这个作者很懒,什么都没留下…
展开
-
条款 36: 区分接口继承和实现继承
(公有)继承的概念看起来很简单,进一步分析,会发现它由两个可分的部分组成:函数接口的继承和函数实现的继承.class Shape {public:virtual void draw() const = 0;virtual void error(const string& msg);int objectID() const;};class Rectangle: public Sha原创 2014-12-17 13:56:55 · 478 阅读 · 0 评论 -
条款19 了解临时对象的来源
只要你产生一个no-heap-object而没有为它命名,便产生了一个临时对象。 临时对象的产生途径:1.当隐式型别转换被施行起来以求函数能够调用成功。2.当函数返回对象的时候。 1.当隐式型别转换被施行起来以求函数能够调用成功size_t countChar(const string& str,char ch){ cout原创 2014-12-08 09:46:18 · 751 阅读 · 0 评论 -
条款五 对定制的[型别转换函数保持警觉]
对于自己定义的型别,我们可以选择是否要提供某些函数,供编译器来作为隐式型别转换之用。 两种函数允许执行这样的转化:1.单自变量的constructors 和 隐式型别转换操作符。所谓,单自变量的constructors就是指能够以单一自变量成功调用的constructor.。如此的constructor可能拥有单一参数,也可能拥有多个参数,并且除了第一个参数都有缺省值。原创 2014-12-08 10:47:28 · 486 阅读 · 0 评论