C++ Programming Style: Abstract

C++ supports programming-in-the-large, allowing relationships between 
different parts of a program to be expressed. The scope of C++ programming 
style therefore goes beyond traditional in-the-small issues which relate to 
the details of line-by-line coding. This book examines the use of the 
in-the-large language features of C++, which sometimes confuse even 
experienced programmers. The author demonstrates that unwarranted use of the 
more powerful language features may lead to cluttered programs which are harder
to comprehend and sometimes less efficient than more straightforward 
alternatives. Cargill rewrites several programs, using techniques that range
from improving consistency to removing redundant inheritance. The 
presentation simulates a code review, in which readers may independently 
evaluate and criticize alternative approaches to programming problems, and 
then compare their analyses with those of the author.

Design and coding style rules are distilled from the examples. Understanding 
and following these rules will help professional programmers design and write 
better C++ programs.

A chapter is devoted to each of the following topics:
- abstractions
- operator overloading
- consistency
- wrappers
- unnecessary inheritance
- efficiency
- virtual functions

Building on the programming rules introduced in the first seven chapters, 
Cargill presents a case study in which a single program undergoes repeated 
transformations that improve its overall quality while reducing its size. 
The book concludes with a chapter on multiple inheritance.

Tom Cargill is a well regarded expert in C++. While at AT&T Bell Laboratories,
Murray Hill, NJ, he was among the first programmers to use C++. He is a 
columnist for The C++ Journal and The C++ Report, and is also the author of 
two of Technology Exchange Company's C++ courses. The material for this book 
was originally developed for tutorials that Cargill has presented at numerous 
technical conferences.

preface, Top