C++ Programming with Design Patterns Revealed is the first book to integrate learning the C++ language with design patterns. It promotes using patterns as the recurring solutions to design problems, resulting in effective, well-structured and reusable programs. C++ Programming with Design Patterns Revealed is intended for readers already familiar with Java or any other objected oriented programming language. Unlike most books on design patterns, which are appropriate only for advanced programmers, this book is written for C++ novices. Each design pattern is clearly described, illustrated using the Unified Modeling language (UML) and supplemented with carefully integrated examples. C++ Programming with Design Patterns Revealed covers the full spectrum of programming paradigms, starting with procedural programming, and then moving on to object-based, object-oriented and generic programming paradigm. It provides complete in-depth coverage of all essential features of the current C++ ANSI standard, including namespaces, exception handling, generic programming and an introduction to the Standard Template Library (STL). However, the book does not stop at describing the syntax and semantics of the language. Various design patterns are used to describe numerous high-level concepts, including smart pointers, reference counting, double dispatching, heterogeneous containers, and many others.