search for books and compare prices
Tables of Contents for More Effective C++
Chapter/Section Title
Page #
Page Count
Acknowledgments
xi
 
Introduction
1
8
Basics
9
15
Distinguish between pointers and references
9
3
Prefer C++-style casts
12
4
Never treat arrays polymorphically
16
3
Avoid gratuitous default constructors
19
5
Operators
24
20
Be wary of user-defined conversion functions
24
7
Distinguish between prefix and postfix forms of increment and decrement operators
31
4
Never overload &&, ||, or
35
3
Understand the different meanings of new and delete
38
6
Exceptions
44
37
Use destructors to prevent resource leaks
45
5
Prevent resource leaks in constructors
50
8
Prevent exceptions from leaving destructors
58
3
Understand how throwing an exception differs from passing a parameter or calling a virtual function
61
7
Catch exceptions by reference
68
4
Use exception specifications judiciously
72
6
Understand the costs of exception handling
78
3
Efficiency
81
42
Remember the 80--20 rule
82
3
Consider using lazy evaluation
85
8
Amortize the cost of expected computations
93
5
Understand the origin of temporary objects
98
3
Facilitate the return value optimization
101
4
Overload to avoid implicit type conversions
105
2
Consider using op=instead of stand-alone op
107
3
Consider alternative libraries
110
3
Understand the costs of virtual functions, multiple inheritance, virtual base classes, and RTTI
113
10
Techniques
123
129
Virtualizing constructors and non-member functions
123
7
Limiting the number of objects of a class
130
15
Requiring or prohibiting heap-based objects
145
14
Smart pointers
159
24
Reference counting
183
30
Proxy classes
213
15
Making functions virtual with respect to more than one object
228
24
Miscellany
252
33
Program in the future tense
252
6
Make non-leaf classes abstract
258
12
Understand how to combine C++ and C in the same program
270
7
Familiarize yourself with the language standard
277
8
Recommended Reading
285
6
An auto__ptr Implementation
291
4
General Index
295
18
Index of Example Classes, Functions, and Templates
313