《Effective C++》 目录

目录

条款1:视C++为一个语言联邦

条款2:尽量以const、enum、inline替换#define

条款3:尽可能使用const

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

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

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

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

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

条款9:绝不在构造和析构过程中调用virtual函数

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

条款11:在operator=中实现“自我赋值”

条款12:复制对象时勿忘其每一部分

条款13:以对象管理资源

条款14:在资源管理类中小心coping行为

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

条款16:成对使用new和delete时要采取相同形式

条款17:以独立语句将newed对象置入智能指针

条款18:让接口容易被正确使用,不容易被误用

条款19:设计class犹如设计type

条款20:宁以pass-by-reference-to-const替换pass-by-value

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

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

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

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

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

条款26:尽可能延后变量定义式的出现时间

条款27:尽量少做转型动作

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

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

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

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

条款32:确定你的public继承塑模出is-a关系

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

条款34:区分接口继承和实现继承

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

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

条款37:绝不要重新定义继承而来的缺省参数值

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

条款39:明智而审慎的使用private继承

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

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

条款42:了解typename的双重意义

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

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

条款45:运用成员函数模板接受所有兼容类型

条款46:需要类型转换时请为模板定义非成员函数

条款47:请使用traits class表现类型信息

条款48:认识template元编程

条款49:了解new-handler的行为

条款50:了解new和delete的合理替换时机

条款51:编写new和delete时需固守常规

条款52:写了placement new也要写placement delete

条款53:不要轻忽编译器的警告

条款54:让自己熟悉包括TR1在内的标准程序库

条款55:让自己熟悉Boost

时间: 2024-11-05 11:46:38

《Effective C++》 目录的相关文章

Effective Java 目录

<Effective Java>目录摘抄. 我知道这看起来很糟糕.当下,自己缺少实际操作,只能暂时摘抄下目录.随着,实践的增多,慢慢填充更多的示例. Chapter 2 Creating and Destroying Objects Consider static factory methods instead of constructors Consider a builder when faced with many constructor parameters Enforce the s

《Effective C++》 目录:

目录 条款1:视C++为一个语言联邦 条款2:尽量以const.enum.inline替换#define 条款3:尽可能使用const 条款4:确定对象使用前已先被初始化 条款5:了解C++默认编写并调用哪些函数 条款6:若不想使用编译器自动生成的函数,就该明确拒绝 条款7:为多态基类声明virtual析构函数 条款8:别让异常逃离析构函数 条款9:绝不在构造和析构过程中调用virtual函数 条款10:令operator=返回一个reference to *this 条款11:在operato

Effective JavaScript: 编写高质量JavaScript代码的68个有效方法(目录)

本书赞誉译者序序前言第 1 章 让自己习惯 JavaScript 1第 1 条: 了解你使用的 JavaScript版本 1第 2 条:理解 JavaScript 的浮点数 6第 3 条:当心隐式的强制转换 8第 4 条:原始类型优于封装对象 13第 5 条: 避免对混合类型使用== 运算符 14第 6 条:了解分号插入的局限 16第 7 条: 视字符串为 16 位的代码单元序列 21第 2 章 变量作用域 25第 8 条:尽量少用全局对象 25第 9 条:始终声明局部变量 27第 10 条:避

reading notes —— effective Java;目录结构,便于复习与查找

第1章 引言 第2章 创建和销毁对象 第1条:考虑用静态工厂方法代替构造器 第2条:遇到多个构造器参数时要考虑用构建器 第3条:用私有构造器或者枚举类型强化Singleton属性 第4条:通过私有构造器强化不可实例化的能力 第5条:避免创建不必要的对象 第6条:消除过期的对象引用 第7条:避免使用终结函数 第3章 对于所有对象都通用的方法 第8条:改写equals时请遵守通用约定 第9条:改写equals时总要改写hashCode 第10条:始终要改写toString 第11条:谨慎地改写clo

文件查询之三:文件和目录的批量操作

经过之前两篇的随笔已经可以将所需要的文件和目录查找出来,并且保存在一个文档中,所以现在就是利用保存文件或目录的文档来进行批量处理,对文件或目录进行批量的 删除.复制和移动.主要是用到shutil模块中的函数和os模块中的函数进行一系列的操作.shutil模块存在大量的文件操作和目录操作的函数,包括常用的移动文件或复制文件 等操作,其中os和shutil下对于函数的功能存在交集,只不过相同功能下的函数名存在差异,函数上的细节处理方面也有可能不一样.在这里主要的是讲shutil模块下的函数. 首先是

[.NET] 《Effective C#》读书笔记(二)- .NET 资源托管

<Effective C#>读书笔记(二)- .NET 资源托管 简介 续 <Effective C#>读书笔记(一)- C# 语言习惯. .NET 中,GC 会帮助我们管理内存,我们并不需要去担心内存泄漏,资源分配和指针初始化等问题.不过,它也并非万能,因为非托管资源需要我们自己进行清理,如文件句柄.数据库连接.GDI+ 对象和COM 对象等. 目录 十二.推荐使用成员初始化器而不是赋值语句 十三.正确地初始化静态成员变量 十四.尽量减少重复的初始化逻辑 十五.使用 using

SQLite学习手册(目录)

Posted on 2012-03-09 07:36 Stephen_Liu 阅读(11956) 评论(22) 编辑 收藏 在实际的应用中,SQLite作为目前最为流行的开源嵌入式关系型数据库,在系统的架构设计中正在扮演着越来越为重要的角色.和很多其它嵌入式NoSQL数据库不同的是,SQLite支持很多关系型数据库的基本特征,这在数据移植.程序演示等应用中有着不可替代的优势.从官方文档中我们可以获悉到,SQLite支持的数据量和运行效率都是非常骄人的,因此在海量数据的解决方案中,SQLite可以

Notes for Apue &mdash;&mdash; chapter 4 Files and Directories(文件和目录)

4.1 Introduction 4.2 stat, fstat, fstatat, and lstat Functions The lstat function is similar to stat, but when the named file is a symbolic link, lstat returns information about the symbolic link, not the file referenced by the symbolic link. 4.3 文件类

我的第一本C++书,目录

共分三篇十三章.这是总目录,细分到节: 1 /* 2 3 我的第一本C++书(游历C++世界的地图) 4 5 第1篇 叩开c++世界的大门 6 7 8 第1章 c++世界地图 9 1.1 c++是什么 10 1.2 c++的前世今生 11 1.2.1 从b到c 12 1.2.2 从c到c++ 13 1.2.3 从c++到.net framework的cli 14 1.2.4 最新标准c++0x让c++重新焕发活力 15 1.2.5 c++和c#不得不说的那点事儿 16 1.2.6 c++世界的五