Effective C++(读书笔记)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shenshen211/article/details/84486714

Effective C++ 这本书共有九个章节55条建议,目录如下:

一. 让自己习惯C++

      01.视C++为一个语言联邦

      02.尽量以const, enum, inline, 替换#define

      03.尽可能使用const

      04.确定对象被使用前已被初始化

二. 构造/析构/赋值运算

      05.了解C++默认编写并调用哪些函数

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

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

      08.别让异常逃离析构函数

扫描二维码关注公众号,回复: 4268614 查看本文章

      09.绝不再构造和析构过程中调用virtual函数

      10.令operate= 返回一个reference to *this

      11.在operate= 中处理“自我赋值”

      12.复制对象时勿忘其每一个成分

三. 资源管理

      13.以对象管理资源

      14.在资源管理类中小心 copying 行为

      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-menber non-friend 替换menber函数

      24.若所有参数皆需类型转换,请为此采用 non-menber函数

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

五. 实现

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

      27.尽量少做转型动作

      28.避免返回handles指向对象内部成分

      29.为“异常安全”而努力是值得的

      30.透彻了解 inlining 的里里外外

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

六. 继承与面向对象设计

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

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

      34.区分接口继承与实现继承

      35.考虑 virtual 函数以外的其他选择

      36.绝不重新定义继承而来的 non-vitual 函数

      37.绝不重新定义继承而来的缺省参数值

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

      39.明智而审慎的使用 private 继承

      40.明智而审慎的使用多继承

七. 模板与泛型编程

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

      42.了解 typname 的双重意义

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

      44.将参数无关的代码抽离 templates

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

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

      47.请使用 traits classes 表现类型信息

      48.认识 template 元编程

八. 定制 new 和 delete

      49.了解 new-handler 的行为

      50.了解 new 和 delete 的合理替换时机

      51.编写 new 和 delete 时需固守成规

      52.写了 placement new 也要写 placement delete

九. 杂项讨论

      53.不要轻忽编译器的警告

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

      55.让自己熟悉Boost

接下来会逐章节介绍。

猜你喜欢

转载自blog.csdn.net/shenshen211/article/details/84486714