Sold Out
Book Categories |
Preface | ||
0 | Introduction | 1 |
0.1 | A note about the code examples | 2 |
0.2 | A road map | 2 |
0.4 | The language rules | 3 |
1 | Abstraction | 5 |
1.1 | A telephone number abstraction | 7 |
1.2 | Relationships between abstractions | 10 |
1.3 | Worrying about the boundary conditions | 16 |
1.4 | Designing with CRC cards | 17 |
2 | Classes | 21 |
2.1 | Constructors | 21 |
2.2 | Assignment | 31 |
2.3 | Public data | 33 |
2.4 | Implicit type conversions | 37 |
2.5 | Overloaded operators: members or nonmembers? | 44 |
2.6 | Overloading, defaults, and ellipsis | 47 |
2.7 | Const | 49 |
2.8 | Returning references | 57 |
2.9 | Static constructors | 57 |
3 | Handles | 63 |
3.1 | A String class | 64 |
3.2 | Avoiding copies with use counts | 66 |
3.3 | Avoiding recompilations: the Cheshire Cat | 72 |
3.4 | Using handles to hide the design | 74 |
3.5 | Multiple implementations | 74 |
3.6 | Handles as objects | 79 |
4 | Inheritance | 83 |
4.1 | The is-a relationship | 83 |
4.2 | Public inheritance | 90 |
4.3 | Private inheritance | 90 |
4.4 | Protected inheritance | 92 |
4.5 | Conformance to base class abstractions | 94 |
4.6 | Pure virtual functions | 96 |
4.7 | Inheritance details and traps | 99 |
5 | Multiple Inheritance | 105 |
5.1 | Multiple inheritance as set intersection | 105 |
5.2 | Virtual base classes | 112 |
5.3 | Some multiple inheritance details | 117 |
6 | Designing for Inheritance | 123 |
6.1 | The protected interface | 123 |
6.2 | Should you design for inheritance? | 127 |
6.3 | Design for inheritance: some examples | 132 |
7 | Templates | 141 |
7.1 | A Pair class template | 144 |
7.2 | Some template details | 145 |
7.3 | Template instantiation | 147 |
7.4 | Smart pointers | 149 |
7.5 | Expression arguments to templates | 156 |
7.6 | Function templates | 158 |
8 | Advanced Templates | 165 |
8.1 | Container classes using templates | 165 |
8.2 | Example: a Block class | 167 |
8.3 | Detailed Block design issues | 170 |
8.4 | Containers with iterators: a List class | 175 |
8.5 | Iterator design issues | 184 |
8.6 | Performance issues | 188 |
8.7 | Constraints on template arguments | 190 |
8.8 | Template specializations | 193 |
9 | Reusability | 205 |
9.1 | Discovery and acquisition | 206 |
9.2 | Robustness | 207 |
9.3 | Memory management | 215 |
9.4 | Alternative memory allocation schemes | 217 |
9.5 | Passing arguments to operator new | 221 |
9.6 | Managing external resources | 224 |
9.7 | Finding memory bugs | 225 |
9.8 | Name collisions | 230 |
9.9 | Performance | 234 |
9.10 | Don't guess, measure! | 234 |
9.11 | Algorithms | 235 |
9.12 | Bottlenecks in dynamic memory allocation | 236 |
9.13 | Inlines | 242 |
9.14 | Tiemann's law | 244 |
10 | Exceptions | 249 |
10.1 | A disclaimer | 249 |
10.2 | Why exceptions? | 249 |
10.3 | An example exception | 252 |
10.4 | Exceptions should be exceptional | 254 |
10.5 | Understanding exceptions | 256 |
10.6 | Blame assessment | 257 |
10.7 | Designing the exception object | 259 |
11 | Moving your project to C++ | 265 |
11.1 | Choosing C++ | 265 |
11.2 | Adopting C++ | 267 |
11.3 | Design and implementation | 269 |
11.4 | Developing an asset base | 271 |
11.5 | A closing thought | 272 |
Login|Complaints|Blog|Games|Digital Media|Souls|Obituary|Contact Us|FAQ
CAN'T FIND WHAT YOU'RE LOOKING FOR? CLICK HERE!!! X
You must be logged in to add to WishlistX
This item is in your Wish ListX
This item is in your CollectionC++ Strategies and Tactics
X
This Item is in Your InventoryC++ Strategies and Tactics
X
You must be logged in to review the productsX
X
X
Add C++ Strategies and Tactics, In chess, learning the rules for how the pieces move is simply the first step; to master the game, you must understand the strategies and tactics that guide each move. The same applies to C++. Knowing the right strategies helps you avoid the traps and wor, C++ Strategies and Tactics to the inventory that you are selling on WonderClubX
X
Add C++ Strategies and Tactics, In chess, learning the rules for how the pieces move is simply the first step; to master the game, you must understand the strategies and tactics that guide each move. The same applies to C++. Knowing the right strategies helps you avoid the traps and wor, C++ Strategies and Tactics to your collection on WonderClub |