More Effective C++摘录

 

基础议题

条款1:仔细区别pointers和references

 

条款2:最好使用C++转型操作符

 

条款3:绝对不要以多态(polymorphically)方式处理数组

 

条款4:非必要不提供default constructor

 

操作符

条款5:对定制的【型别转换函数】操持警觉

 

条款6:区别increment/decrement操作符的前置和后置形式

 

条款7:千万不要重载&&,||和,操作符

 

条款8:了解各种不同意义的new和delete

 

异常

条款9:利用destructors避免泄漏资源

 

条款10:在constructors内阻止资源泄漏

 

条款11:禁止异常流出destructors之外

 

条款12:了解【掷出一个exception】与【传递一个参数】或【调用一个虚函数】之间的差异

 

条款13:以by reference方式捕捉exceptions

 

条款14:明智运用 exception specifications

 

条款15:了解异常处理的成本

 

效率

条款16:谨记80-20法则

 

条款17:考虑使用lazy evaluation(缓式评估)

 

条款18:分期摊还预期的计算成本

 

条款19:了解临时对象的来源

 

条款20:协助完成【返回值优化(RVO)】

 

条款21:利用多载技术(overload)避免隐式型别转换

 

条款22:考虑以操作符复合形式(op=)取代其独身形式(op)

 

条款23:考虑使用其它程序库

 

条款24:了解virtual functions、multiple inheritance、virtual base classes、runtime type identification的成本

 

技术

条款25:将constructor和non-member functions虚化

 

条款26:限制某个class所能产生的对象数量

 

条款27:要求(或禁止)对象产生于heap之中

 

条款28:Smart Pointers(智能指针)

 

条款29:Reference counting(引用计数)

 

条款30:Proxy classes(替身类、代理类)

 

条款31:让函数根据一个以上的对象型别来决定如何虚化

 

杂项讨论

条款32:在未来时态下发展程序

 

条款33:将非尾端类设计为抽象类

 

条款34:如何在同一个程序中结合C++和C

 

条款35:让自己习惯于标准C++语言

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值