Effective C++
上帝快跑
这个作者很懒,什么都没留下…
展开
-
第四章 设计与声明
条款18:让接口容易被正确使用,不易被误用(1)“促进正确使用”的办法包括建立接口的一致性,以及与内置类型的行为兼容。(2)“阻止误用”的办法包括建立型类型,限制类型上的操作,束缚对象的值,以及消除客户的资源管理责任;(3)智能指针的定制删除器。 条款19:设计class犹如设计type每个class都需要面对的问题(1)新type的对象应该如何创建和销毁?(原创 2014-11-08 11:51:11 · 252 阅读 · 0 评论 -
第五章 实现
条款26:尽可能延后变量的定义式出现的时间什么是“尽量延后”的真正定义?我们不只应该延后变量的定义,直到非得使用该变量的前一刻为止,甚至应该尝试延后这份定义直到能够给他初值实参为止。如果这样,不仅能够避免构造和析构非必要的对象,还可以避免无意义的default构造行为。更深层说,以“具有明显意义的初值”将变量初值化,还可以附带说明变量的目的。 条款27:尽量少做转型动作旧事转原创 2014-11-08 23:33:46 · 369 阅读 · 0 评论 -
第六章 继承与面向对象设计
虚函数意味着接口必须被继承,非虚函数意味着“接口和实现都必须被继承”。条款32:确定你的public继承塑模除is-a关系如果令class D以public形式继承class B,你便是告诉编译器,每个类型D对象同时也是一个类型B对象,反之则不成立。这个意思表明B比D表现的更一般化的概念,D比B表现的更特殊化的概念。public主张,能够施行于基类对象的每一件事,也可以施行于派生类上,如果原创 2014-11-12 13:04:49 · 297 阅读 · 0 评论 -
Effective C++第一章 让自己习惯C++
条款01:视C++为一个语言联邦个人理解:这个条款主要告诉我们,C++并不是一种单一思想的语言,C++语言是多种思想的联合。C++可以划分为四个部分:C(c语言),Object—Oriented C++(面向对象:类),Template C++(模板的泛型编程),STL(标准模板库)。每个部分都有自己的规约,自己的思想,切忌一成不变。============================原创 2014-11-03 22:39:39 · 247 阅读 · 0 评论 -
第二章 构造/析构/赋值运算符
条款05:了解C++默认编写并调用哪些函数对于一个空类,编译器会自动为此类生成默认构造函数,拷贝构造函数,析构函数,和拷贝赋值运算符。例如,如果你的类仅有class Empty{};但实际上却是:class Empty{public:Empty(){......}Empty(const Empty &rhs) {......}~Empty() {......}原创 2014-11-05 22:50:34 · 279 阅读 · 0 评论 -
第三章 资源管理
所谓资源,就是一旦使用它,将来必须还给系统。 条款13:以对象管理资源在一般函数中释放资源以一定的弊端,如函数为执行或函数发生异常。以对象管理资源最常用的方法就是只能指针。 条款14:在资源管理类中小心copying行为对于以个资源管理类,当复制对象时,资源管理类的动作可能是以下几种;(1)禁止复制:如果复制行为不合理。(2)对底层资源使用“引用计数”:可以使原创 2014-11-06 23:10:08 · 302 阅读 · 0 评论