Read more
It's easy to make lots of programming mistakes in C++ - in fact, any program over a few hundred lines is likely to contain bugs. With this book, you'll learn about many common coding errors that C++ programmers produce, along with rules and strategies you can use to avoid them.
Author Vladimir Kushnir shows you how to use his Safe C++ library, based in part on programming practices developed by the C++ community. You'll not only find recipes for identifying errors during your program's compilation, runtime, and testing phases, you'll learn a comprehensive approach for making your C++ code safe and bug-free. Get recipes for handling ten different error types, including memory leaks and uninitialized variables Discover problems C++ inherited from C, like pointer arithmetic Insert temporary and permanent sanity checks to catch errors at runtime Apply bug prevention techniques, such as using separate classes for each data type Pursue a testing strategy to hunt and fix one bug at a time - before your code goes into production
List of contents
Preface
A Bug-Hunting Strategy for C++
Chapter 1: Where Do C++ Bugs Come From?
Chapter 2: When to Catch a Bug
Chapter 3: What to Do When We Encounter an Error at Runtime
Bug Hunting: One Bug at a Time
Chapter 4: Index Out of Bounds
Chapter 5: Pointer Arithmetic
Chapter 6: Invalid Pointers, References, and Iterators
Chapter 7: Uninitialized Variables
Chapter 8: Memory Leaks
Chapter 9: Dereferencing NULL Pointers
Chapter 10: Copy Constructors and Assignment Operators
Chapter 11: Avoid Writing Code in Destructors
Chapter 12: How to Write Consistent Comparison Operators
Chapter 13: Errors When Using Standard C Libraries
The Joy of Bug Hunting: From Testing to Debugging to Production
Colophon
About the author
Vladimir Kushnir obtained his Ph. D. in physics at the Institute for Solid State Physics, Academy of Sciences of the USSR. Since that time, Vladimir worked as an experimental physicist, using FORTRAN, C and then C++, while working at Northwestern University and later at the Argonne National Laboratory. He then went to work with Wall Street firms, focusing mostly on calculations called "financial analytics”, and having special interest in taking a calculation and making it run faster, sometimes by an order of magnitude. He lives with his wife Daria in Connecticut and when not programming in C++, enjoys Jazz music and underwater photography in his spare time.
Summary
This book contains discussion of some of the most typical mistakes made by us, programmers, in C++ code and also some recipes how to avoid each of these mistakes.