Consistent, high-quality coding standards improve software quality, reduce time-to-market, promote teamwork, eliminate time wasted on inconsequential matters, and simplify maintenance. Now, two of the world's most respected C++ experts distill the rich collective experience of the global C++ community into a set of coding standards that every developer and development team can understand and use as a basis for their own coding standards. The authors cover virtually every facet of C++ programming: design and coding style, functions, operators, class design, inheritance, construction/destruction, copying, assignment, namespaces, modules, templates, genericity, exceptions, STL containers and algorithms, and more. Each standard is described concisely, with practical examples. From type definition to error handling, this book presents C++ best practices, including some that have only recently been identified and standardized-techniques you may not know even if you've used C++ for years. Along the way, you'll find answers to questions like * What's worth standardizing--and what isn't? * What are the best ways to code for scalability?*
What are the elements of a rational error handling policy? * How (and why) do you avoid unnecessary initialization, cyclic, and definitional dependencies?* When (and how) should you use static and dynamic polymorphism together?* How do you practice "safe" overriding?* When should you provide a no-fail swap? * Why and how should you prevent exceptions from propagating across module boundaries?* Why shouldn't you write namespace declarations or directives in a header file?* Why should you use STL vector and string instead of arrays?* How do you choose the right STL search or sort algorithm?* What rules should you follow to ensure type-safe code? Whether you're working alone or with others, C++ Coding Standards will help you write cleaner code--and write it faster, with fewer hassles and less frustration.