Home Table of Contents Errata Software FAQ Links Contact Us


Now Available!

Applied C++: Practical Techniques for Building Better Software, Addison-Wesley, ISBN 0-321-10894-9, Copyright 2003.


The concepts in Applied C++ took shape over a number of years, based on our experience in programming and project management. We believe this book is useful to a wide audience, from the casual programmer to the seasoned developer. Applied C++ is really three books in one.

First, Applied C++ is about using the power of C++ to solve real-world problems. Our book is not a reference guide, but is a very detail-oriented book that hows you how to be a more productive and proficient programmer. We focus on newer aspects of the language, such as templates and exception handling. We provide concrete examples, such as a resource manager for internationalization, or how to use nested exception handlers to protect your application from most problems, including memory allocation errors. All of software presented in the book is supplied in complete form on the included CD-ROM.

Second, the book discusses the steps of successful software development, from initial concept, prototyping, design and unit testing. We stress heavily the need to make a series of prototypes to flesh out the difficult parts of the design. Prototyping is the time to experiment with novel ideas and concepts, not during the actual design. 25 pages are devoted to this process, using the example we use throughout the book. We develop three separate prototypes to evolve our design from its original concept to a point where we can begin the actual design. We also discuss a number of other important issues, such as performance tuning and multithreaded designs.

Third, the book discusses image processing. The running example in the book is the design of a general-purpose image processing framework. While our book is not a general text on the subject, the framework can be used as the basis for a wide range of applications. Our framework makes extensive use of templates to flatten the hierarchy and add some very important features, such as efficient memory allocation, image storage sharing, and underflow and overflow prevention. Template specialization is used to enhance performance of different image types, especially color images. Readers who have other non-image processing applications, can use the framework as a guide in their own development.

On this site, we provide FAQs for interesting commentary on topics related indirectly to the text or images in the book. We provide an Errata section to highlight any issues in the current version that you should be aware of. These issueswill be addressed in subsequent printings. And since we do provide software along with the book, we have a Software section that provides patches: sometimes these appear as text with file and corresponding line change information and sometimes these appear as downloadable patch files. We are also happy to include links to software programs developed using the image framework library provided with Applied C++.

At any time, we welcome your comments and feedback at:

Copyright © 2003-2012 Philip Romanik, Amy Muntz . All Rights Reserved.