Sunday, September 23, 2012

Safe C++: How to avoid common mistakes

Posted by Unknown On 2:42 PM | 1 comment

Book Detail 
Paperback: 142 pages
Publisher: O'Reilly Media; 1 edition (June 13, 2012)
Language: English
ISBN-10: 1449320937
ISBN-13: 978-1449320935
File Size : 4.6 Mb | File Format : PDF
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
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.

Table of Contents 

A Bug-Hunting Strategy for C++
  Chapter 1 Where Do C++ Bugs Come From?
  Chapter 2 When to Catch a Bug
Why the Compiler Is Your Best Place to Catch Bugs
How to Catch Bugs in the Compiler
The Proper Way to Handle Types
  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
Dynamic Arrays
Static Arrays
Multidimensional Arrays
  Chapter 5 Pointer Arithmetic
  Chapter 6 Invalid Pointers, References, and Iterators
  Chapter 7 Uninitialized Variables
Initialized Numbers (int, double, etc.)
Uninitialized Boolean
  Chapter 8 Memory Leaks
Reference Counting Pointers
Scoped Pointers
Enforcing Ownership with Smart Pointers
  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
  Chapter 14 General Testing Principles
  Chapter 15 Debug-On-Error Strategy
  Chapter 16 Making Your Code Debugger-Friendly
  Chapter 17 Conclusion
  Appendix : Source Code for the scpp Library Used in This Book
  Appendix : Source Code for the files scpp_assert.hpp and scpp_assert.cpp
  Appendix : Source Code for the file scpp_vector.hpp
  Appendix : Source Code for the file scpp_array.hpp
  Appendix : Source Code for the file scpp_matrix.hpp
  Appendix : Source Code for the file scpp_types.hpp
  Appendix : Source Code for the file scpp_refcountptr.hpp
  Appendix : Source Code for the file scpp_scopedptr.hpp
  Appendix : Source Code for the file scpp_ptr.hpp
  Appendix : Source Code for the file scpp_date.hpp and scpp_date.cpp
Colophon

Download Ebook : Safe C++: How to avoid common mistakes

Safe C++: How to avoid common mistakes
OR :
Safe C++: How to avoid common mistakes

1 comment: