The C++ Programming Language
|
|
|
|
The C++ Programming Language, 3rd Ed.
Bjarne Stroustrup
Addison-Wesley, July 1997
ISBN: 0201889544 |
|
REVIEW
|
The C++ Programming Language, Special Edition
Bjarne Stroustrup
Addison Wesley, February 2000
ISBN: 0201700735 |
|
|
C++ Solutions : Companion to the C++ Programming Language
David Vandevoorde
Addison-Wesley, August 1998
ISBN: 0201309653 |
|
Written by the inventor of C++, who is also an influential
member of the ANSI/ISO Standard Committee. The book covers the language
in its entirety. This is the most comprehensive book on C++ that is currently
available and a must-read for every C++ programmer. Go to the author's
BOOK
PAGE
for further information. |
|
|
|
The special edition has two additional appendices on locales
and exception-safety in the STL. These two topics had been mostly neglected
in the 3rd edition.
I don't know how good the answer book is, but considering that David
Vondervoorde is of the 3 legendary compiler constructors at EDG (Edison
Design Group), I would think it must be pretty good.
|
|
|
|
|
C++ in a Nutshell
Ray Lischner
O'Reilly & Associates, Mai 2003
ISBN: 059600298X |
|
A comprehensive reference to the language and the standard
library. The book is amazingly good. The library reference has entries
for all parts of the standard C++ library plus a complete reference of
the standard C library. The language part is equally excellent and even
explains widely unknown language features such as sequence points and argument
dependent name lookup (also known as "Koenig" lookup). Definitely not a
book for learning the language, but an excellent reference to the language. |
|
|
|
|
C++ Primer, 4th Ed.
Stanley B. Lippman & Josee Lajoie & Babara E. Moo
Addison-Wesley, February 2005
ISBN: 0-201-72148-1 |
|
REVIEW
|
C++ Primer, 3rd Ed.
Stanley B. Lippman & Josee Lajoie
Addison-Wesley, April 1998
ISBN: 0201824701 |
|
|
C++Primer Answer Book
Clovis L. Tondo, Bruce P. Leung
Addison-Wesley, December 1998
ISBN: 0201309939 |
Written by one of the first AT&T C++ compiler writers
and long time editor of the C++ report (Stan Lippman) and the chair of
the core language working group of the ANSI/ISO Standard Committee (Josée
Lajoie). This book covers the entire language including templates.
Although this is an introductory textbook it includes discussions of more
advanced language features, which are clearly marked as such, so that the
novice can skip them.
The 4th edition has been completely revised and rewritten and enhanced
by numerous pedagogical aids. A good and comprehensive text book for learning
C++. |
|
|
|
REVIEW
|
Accelerated C++: Practical Programming by Example
Andrew Koenig, Barbara E. Moo
Addison-Wesley, August 14, 2000
ISBN: 020170353X |
|
This is an interesting alternative to other C++ textbooks.
It teaches C++ as a mix of syntax and 'advanced' concepts right from the
beginning. Very early on you find yourself using the power and simplicity
of the STL to write some pretty cool programs. A truly refreshing approach
to C++. |
|
|
|
REVIEW
|
Essential C++
Stanley B. Lippman
Addison-Wesley, October 1999
ISBN: 0201485184 |
|
Written by the author of the C++ Primer this book aims
to explain the essentials of C++ in 300 pages, where coverage of the entire
language in the C++ Primer take more than 1200 pages. For those who
need to learn C++ real quick. |
|
|
|
only available in German
|
Programmieren in C++ - Einführung in den Sprachstandard
Martin Schader & Stefan Kuhlins
Springer-Verlag, 1998
ISBN: 3540637761 |
|
This book was highly recommended by a student of mine (Otto
Böhrer, SAP AG) who brought this book to my attention; I pass
on the recommendation here. The authors are professors at a German university
and seemingly excel at their didactic skills, which contribute greatly
to the value of this book. |
|
|
|
|
C++ Faq's, 2nd Rev edition
Marshall P. Cline, Greg A. Lomow, Mike Girou
Addison-Wesley, November 1998
ISBN: 0201309831 |
|
Written primarily by the guy that “answered everyone
questions” on the internet during the early days of C++, the
book expands on the publicly available C++ faq which was maintained by
Cline for years. Lots of small points, some insightful and relevant,
some not. Good for browsing periodically to stimulate contemplation
of lots of C++ topics. |
|
|
|
|
Thinking in C++, Volume 1: Introduction to Standard C++
Bruce Eckel
Prentice Hall, March 2000
ISBN: 0139798099 |
|
|
Thinking in C++, Volume 2: Practical Programming
Bruce Eckel & Chuck Allison
Prentice Hall, December 2003
ISBN: 0130353132 |
|
An introduction to C++ in two volumes. Available
for
DOWNLOAD
at Bruce Eckel's website. |
|
|
Best Practice C++ Programming
|
|
|
|
Effective C++:
55 Specific Ways to Improve Your Programs
and Designs, 3rd Ed.
Scott Meyers
Addison-Wesley, May 2005
ISBN: 0-321-33487-6 |
|
|
More Effective C++:
35 New Ways to Improve Your Programs
and Designs
Scott Meyers
Addison-Wesley, December 1995
ISBN: 020163371X |
Written by a former columnist of C++ Report and a recognized
authority on C++. These books (especially the first one) are a must-read
for every C++ programmer. Provide guidelines on proper use of the language
and give invaluable advice on avoiding common traps and pitfalls in C++.
Does not cover all of the new language features; templates are excluded,
but exceptions and run-time type information are covered to some extent.
Go to the author's
BOOK
PAGE
for a list of errata and other information related
to these books.
Both books are also available on a combined
CD
. |
|
|
|
|
C++ Gotchas: Avoiding Common Problems in Coding and Design
Stephen C. Dewhurst
Addison-Wesley, Dezember 2002
ISBN: 0321125185 |
|
Similar to Scott Meyers's books, the author presents 99
"gotchas" - common and preventable problems in C++ programming and design,
from minor syntactic annoyances to basic design flaws and psychological
behaviour. He shows how to avoid such problems. |
|
|
|
REVIEW
|
Exceptional C++: 47 Engineering Puzzles, Programming Problems, and
Exception-Safety Solutions
Herb Sutter
Addison-Wesley, December 1999
ISBN: 0201615622 |
|
|
More Exceptional C++: 40 New Engineering Puzzles, Programming Problems,
and Solutions
Herb Sutter
Addison-Wesley, December 2001
ISBN: 020170434X |
|
|
Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems,
and Solutions
Herb Sutter
Addison-Wesley, July 2004
ISBN: 0-201-76042-8 |
|
|
Three books in the tradition of Scott Meyers' Effective
C++ volumes, organized in smaller sections (the 40+ items). It presents
common C++ errors and corresponding solutions in digestible pieces.and
includes "new" language features such as exception handling, namespaces,
and the STL, but also more classical problem domains such as class design
and memory management.
Go to the author's boo pages (
Exceptional
C++
/
More Exceptional
C++
/
Exceptional
C++ Style
) for errata and further information. |
|
|
C++ Programming Guides
|
|
|
|
C++ Coding Standards: 101 Rules, Guidelines, and Best Practices
Herb Sutter & Andrei Alexandrescu
Addison Wesley, October 2004
ISBN: 0-321-11358-6 |
|
A collection of programming guidelines covering all of
C++, including templates and the standard library. |
|
|
|
|
Industrial Strength C++ : Rules and Recommendations
Mats Henricson, Erik Nyquist
Prentice Hall, November 1996
ISBN: 0131209655 |
|
A collection of programming guidelines covering core C++,
that is, there is nothing about template programming. Still, it is
a very useful collection of best practice coding styles. Some of my customers
decided to use this book instead of putting together a company-specific
style guide. The initial online document that the book is based on
is available for download (
click
here
). |
|
|
|
|
Taligent's Guide to Designing Programs: Well-Mannered
Object-Oriented Design in C++
Jorge Martins
Addison-Wesley, May 1994
ISBN: 0201408880 |
|
Yet another set of programming guidelines. Very recommendable.
The book is out of print, as far as I know, but the guide is available
online (
click
here
). |
|
|
The C++ Standard
|
|
|
|
|
The C++ Standard
British Standards Institute
John Wiley & Sons, December 2003
ISBN: 0470846747 |
|
The complete C++ standard as approved by international
standards bodies (ISO and ANSI) including corrigenda integrated. The most
up-to-date and the only available bound version of the C++ standard. |
|
|
Other C++ Topics
|
|
|
REVIEW
|
Large-Scale C++ Software Design
John S. Lakos
Addison-Wesley, July 1996
ISBN: 0201633620 |
|
An advanced text that is unique in covering physical design
issues relevant for very large systems. The author explains techniques
for reducing the degree of interdependency among the physical entities
of a C++ system. It is also recommended reading for developers in smaller
projects because the suggested techniques are good practice and scale well. |
|
|
|
REVIEW
|
Efficient C++: Performance Programming Techniques
Dov Bulka & David Mayhew
Addison-Wesley, October 1999
ISBN: 0201379503 |
|
Covers a broad range of efficiency-related topics, including
coding style, design optimizations, concurrency control, and even system
architecture dependencies. It examines all potentially inefficient C++
language constructs, demonstrates misuse, and suggests remedies. |
|
|
|
REVIEW
|
Inside the C++ Object Model
Stanley B. Lippman
Addison-Wesley, May 1996
ISBN: 0201834545 |
|
Written by the leader of the cfront 2.1 and 3.0 compiler
team at AT&T and former editor of the C++ report. A must-read
for every C++ programmer who is interested in the inner workings of C++.
Focuses on the implementation models used by C++ compilers. Of interest
to advanced C++ programmers who want to know exactly how code is compiled
and what object code is generated, although some of the information involves
esoteric features and special cases that rarely appear in practice.
For instance, the author explains the virtual function table mechanism
as well as the intricacies of multiple inheritance. While this
sounds it's for nerds only, it is really aids understanding of the language. |
|
|
|
|
The Design and Evolution of C++
Bjarne Stroustrup
Addison-Wesley
ISBN 0-201-54330-3 |
|
The book provides background information in that it discusses
various design options that were considered during the development and
standardization of the C++ programming language. Go to the author's
BOOK
PAGE
for further information. |
|
|
|
|
Advanced C++ Programming Styles and Idioms
James O. Coplien
Addison-Wesley, September 1991
ISBN: 0201548550 |
A classic text filled with excellent discussion of advanced
C++ techniques such as functors, virtual constructors, reference
counting, etc. Written by one of the pioneers of the subject of object-oriented
design patterns. Also contains discussions on more abstract topics
such as the appropriate use of inheritance and the different types of reuse.
Showing its age a bit these days, but still definitely worth reading.
Source code examples are available at the author's
BOOK
PAGE
.
See also the author's article on
C++
Idioms
. |
|
|
|
REVIEW
|
Multi-Paradigm Design for C++
James O. Coplien, James Rigney
Addison-Wesley, October 1998
ISBN: 0201824671 |
|
Discusses the various design options that C++ programmers
have available. An excellent comparison of object-oriented vs. generic
program design. Go to the author's
BOOK
PAGE
for a the errata list. |
|
|
|
REVIEW
|
C++ Templates - The Complete Guide
David Vandervoorde, Nicolai M. Josuttis
Addison-Wesley, November 2002
ISBN: 0201734842 |
|
A wonderful book about template programming in C++.
It consists of a tutorial, which I did not much care for; it's basically
what you find in every C++ text book. But it has a section about
template language features, which is the best part of the book; it provides
not yet published insight into the inner working of templates. The
third part is about template programming techniques. It's a little
scattershot and for the experienced C++ programmer it does not provide
any surprisingly new insights, but the authors did a good job in distilling
the essence of modern template programming techniques from several available
template libraries. By and large an highly recommended book. Go to
the authors'
BOOK
PAGE
for a list of errata and related information. |
|
|
|
|
Scientific and Engineering C++:
An Introduction With Advanced Techniques and Examples
John J. Barton, Lee R. Nackman
Addison-Wesley, July 1994
ISBN: 0201533936 |
|
Written by members of a research staff at IBM who worked
on techniques for using C++ in numerical analysis. In order to meet the
performance criteria that are essential for numerical computations they
developed sophisticated ways of using C++ templates. The book is tough
reading, but the presented ideas are compelling. A book that didn’t
get the attention is deserves, maybe because of its slightly misleading
title – it’s also a text about template programming
in C++. |
|
|
|
REVIEW
|
Modern C++ Design: Generic Programming and Design Patterns Applied
Andrei Alexandrescu
Addison-Wesley, February 2001
ISBN: 0201704315 |
|
An interesting book for C++ programmers who want to explore
C++ template programming in greater depth. Demonstrates innovative
and creative ways of using templates for efficient problem solving in C++
programs.
The book is accompanied by a library, the
Loki
library implemented by
Andrei
Alexandrescu
in conjunction with this book.
The source code is available for download from
SourceForgeNet
. |
|
|
|
|
C++ Template Metaprogramming: Concepts,
Tools, and Techniques from Boost and Beyond
David Abrahams & Aleksey Gurtovoy
Addison Wesley, December 2004
ISBN: 0-321-22725-5 |
|
A must-read for C++ programmers interested in template
metaprogramming techniques. |
|
|
|
|
Designing and Coding Reusable C++
Martin D. Carroll, Margaret A. Ellis
Addison-Wesley, February 1995
ISBN: 020151284X |
|
|
C++ Programming Style
Tom Cargill
Addison-Wesley, August 1992
ISBN: 0201563657 |
|
|
C++ Strategies and Tactics
Robert B. Murray
Addison-Wesley, May 1993
ISBN: 0201563827 |
|
REVIEW
|
C & C++ Code Capsules : A Guide for Practitioners
Chuck Allison
Prentice Hall, 1998
ISBN: 0135917859 |
|
|
|
|
|
|
|
|
|
|
C++ Distilled : A Concise Ansi/Iso Reference and Style
Guide
Ira Pohl
Addison-Wesley, November 1996
ISBN: 0201695871 |