您的位置:首页 > 编程语言 > C语言/C++

Effective C++ 笔记目录

2015-12-20 21:00 316 查看
条款01:视C++为一个语言联邦

c++分解为四个次语言



条款02:尽量以const,enum,inline替换#define

少用预处理, 常量替换#define两点注意



条款03:尽可能使用const

详细介绍 const



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

初始化与赋值



条款05:了解C++默默编写并调用哪些函数

编译器可以暗自为类创建默认构造函数、拷贝构造函数、拷贝赋值操作符,以及析构函数。



条款06:若不想使用编译器自动生成的函数,就该明确拒绝

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



条款07为多态基类声明virtual析构函数

基类的指针在操作它的多态类对象时,会根据不同的类对象,调用其相应的函数,这个函数就是虚函数



条款08别让异常逃离析构函数

c++异常处理

更详细的内容见 :

/article/3701662.html



条款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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: