Effective C++ 笔记目录

条款01:视C++为一个语言联邦
c++分解为四个次语言

条款02:尽量以const,enum,inline替换#define
少用预处理, 常量替换#define两点注意

条款03:尽可能使用const
详细介绍 const

条款04:确定对象被使用前已先被初始化
初始化与赋值

条款05:了解C++默默编写并调用哪些函数
编译器可以暗自为类创建默认构造函数、拷贝构造函数、拷贝赋值操作符,以及析构函数。

条款06:若不想使用编译器自动生成的函数,就该明确拒绝
为驳回编译器自动(暗自)提供的机能,可将相应的成员函数声明为private并且不予实现。使用像noncopyable这样的基类也是一种做法。

条款07为多态基类声明virtual析构函数
基类的指针在操作它的多态类对象时,会根据不同的类对象,调用其相应的函数,这个函数就是虚函数

条款08别让异常逃离析构函数
c++异常处理
更详细的内容见 :
http://blog.csdn.net/lz20120808/article/details/50283937

条款09决不让构造和析构过程中调用virtual函数


条款10令operator 返回一个reference to this


条款11在operator 中处理自我赋值


条款12复制对象时勿忘每一个成分
copying函数应该确保复制“对象内的所有成员变量”及“所有base class成分”。

条款13以对象管理资源
auto_ptr和tr1::shared_ptr

条款14在资源管理类中小心拷贝行为


条款15在资源管理类中提供对原始资源的访问


条款16成对使用new和delete时要采取相同形式
如果你在new表达式中使用[],必须在相应的delete表达式中也使用[]。如果你在new表达式中不使用[],一定不要在相应的delete表达式中使用[]。

条款17以独立语句将newed对象置入智能指针
以独立语句将newed对象存储于(置入)智能指针内。如果不这样做,一旦异常抛出,有可能导致难以察觉的资源泄漏

条款18让接口容易被正确使用不易被误用
任何接口如果要求客户记得做某些事情,就是”不正确使用”的倾向。因为客户可能会忘记做那件事。在资源管理方面,也许我们应该“先发制人”,即让函数返回一个资源的指针改为返回一个智能指针。

条款19设计class犹如设计type
Class的设计就是type的设计。在定义一个新的type之前,请确定你已经考虑过本条款覆盖的所有讨论主题

条款20宁以pass-by-reference-to-const替代psss-by-value


条款21必须返回对象时别妄想返回其reference


条款22将成员变量声明为private


条款23宁以non-membernon-friend替换member函数


条款24若所有参数皆需类型转换请为此采用non-member函数


条款25考虑写出一个不抛异常的swap函数


条款26尽可能延后变量定义式的出现时间
尽可能延后变量定义式的出现。这样做可增加程序的清晰度并改善程序效率

条款27尽量少做转型动作
宁可使用C++-style(新式)转型,不要使用旧式转型。前者很容易辨识出来,而且也比较有着分门别类的执掌

条款28避免返回handls指向对象内部成分

条款29为异常安全而努力是值得的

条款30透彻了解inlining的里里外外

条款31将文件间的编译依存关系降至最低

条款32确定你的public继承塑模出is-a关系
“public继承”意味is-a

条款33避免遮掩继承而来的名称

条款34区分接口继承和实现继承
虚函数,纯虚函数,非虚函数 的继承

条款35考虑virtual函数以外的其它选择

条款36绝不重新定义继承而来的non-virtual函数

条款37绝不重新定义继承而来的缺省参数值
静态类型,动态类型

条款38:通过复合塑模树has-a 或“根据某物实现出”
复合 has-a

条款39明智而审慎地使用private继承
private继承意味着is-implemented-in-terms-of(根据某物实现出)。它通常比复合(composition)的级别低。

条款40:明智而审慎的使用多重继承

条款41了解隐式接口和编译期多态

条款 42理解typename的双重意义

条款 43学习处理模板化基类内的名称

条款44将与参数无关的代码抽离templates

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值