More Effective C++学习

More Effective C++学习

一、基础议题

Item M1:指针与引用的区别

Item M2:尽量使用C++风格的类型转换

Item M3:不要对数组使用多态

Item M4:避免无用的缺省构造函数

二、运算符

Item M5:谨慎定义类型转换函数

Item M6:自增、自减操作符前缀形式与后缀形式的区别

Item M7:不要重载"&&","||", “,”

Item M8:理解各种不同含义的new和delete

三、异常

Item M9:使用析构函数防止资源泄露

Item M10:在构造函数中防止资源泄露

Item M11:禁止异常信息(exceptions)传递到析构函数外

Item M12:理解“抛出一个异常”与“传递一个参数”或“调用一个虚函数”间的差异

Item M13:通过引用(reference)捕获异常

Item M14:谨慎使用异常规格(Exception specifications)

Item M15:了解异常处理的系统开销

四、效率

Item M16:牢记80-20准则

Item M17:考虑使用lazy evaluation(懒惰计算法)

Item M18:分期摊还期望的计算

Item M19:理解临时对象的来源

Item M20:协助完成返回值优化

Item M21:通过重载避免隐式类型转换

Item M22:考虑用运算符的赋值形式(op=)取代其单独形式

Item M23:考虑变更程序库

Item M24:理解虚拟函数、多继承、虚基类和RTTI所需的代价

五、技巧(Techniques,又称Idioms或Pattern)

Item M25:将构造函数和非成员函数虚拟化

Item M26:限制某个类所能产生的对象数量

Item M27:要求或禁止在堆中产生对象

Item M28:灵巧(smart)指针

Item M29:引用计数

Item M30:代理类

Item M31:让函数根据一个以上的对象来决定怎么虚拟

六、杂项

Item M32:在未来时态下开发程序

Item M33:将非尾端类设计为抽象类

Item M34:如何在同一个程序中混合使用C++和C

Item M35:让自己习惯使用标准C++语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值