Making C++ Safer
This bonus chapter will add insight into what we can do as C++ programmers to make the language as safe as possible in our everyday usage. We have progressed from basic language features to our core interest of OO programming with C++, to additional useful language features and libraries (exceptions, operator overloading, templates, and STL), to design patterns to give us a knowledge base to solve recurring types of OO programming problems. At every point along the way, we’ve seen that C++ requires extra care on our part to avoid tricky and potentially problematic programming situations. C++ is a language that will allow us to do anything, but with this power comes the need for guidelines to ensure our programming follows safe practices. After all, our goal is to create programs that will run successfully without errors and, additionally, be easy to maintain. The ability of C++ to do anything needs to be paired with sound practices to simply make C++ safer.
...