Book description
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
Table of contents
- Safe C++
- Dedication
- SPECIAL OFFER: Upgrade this ebook with OâReilly
- Preface
- I. A Bug-Hunting Strategy for C++
-
II. Bug Hunting: One Bug at a Time
- 4. Index Out of Bounds
- 5. Pointer Arithmetic
- 6. Invalid Pointers, References, and Iterators
- 7. Uninitialized Variables
- 8. Memory Leaks
- 9. Dereferencing NULL Pointers
- 10. Copy Constructors and Assignment Operators
- 11. Avoid Writing Code in Destructors
- 12. How to Write Consistent Comparison Operators
- 13. Errors When Using Standard C Libraries
-
III. The Joy of Bug Hunting: From Testing to Debugging to Production
- 14. General Testing Principles
- 15. Debug-On-Error Strategy
- 16. Making Your Code Debugger-Friendly
- 17. Conclusion
- A. Source Code for the scpp Library Used in This Book
- B. Source Code for the files scpp_assert.hpp and scpp_assert.cpp
- C. Source Code for the file scpp_vector.hpp
- D. Source Code for the file scpp_array.hpp
- E. Source Code for the file scpp_matrix.hpp
- F. Source Code for the file scpp_types.hpp
- G. Source Code for the file scpp_refcountptr.hpp
- H. Source Code for the file scpp_scopedptr.hpp
- I. Source Code for the file scpp_ptr.hpp
- J. Source Code for the file scpp_date.hpp and scpp_date.cpp
- Index
- About the Author
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OâReilly
- Copyright
Product information
- Title: Safe C++
- Author(s):
- Release date: May 2012
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781449321369
You might also like
book
Secure Programming Cookbook for C and C++
Password sniffing, spoofing, buffer overflows, and denial of service: these are only a few of the …
book
Embracing Modern C++ Safely
Maximize Reward and Minimize Risk with Modern C++ Embracing Modern C++ Safely shows you how to …
book
Secure Coding in C and C++, Second Edition
Learn the Root Causes of Software Vulnerabilities and How to Avoid Them Commonly exploited software vulnerabilities …
book
Boost.Asio C++ Network Programming Cookbook
Over 25 hands-on recipes to create robust and highly-efficient cross-platform distributed applications with the Boost.Asio libraryAbout …