EFNet #C++ Website EFNet #C++ Recommended Books
A list of books recommended for C++ programming

Choosing a book:

Choosing the right book for learning C++ or any other subject is quite important, especially since C++ and other technical books tend to be rather expensive. You definitely want to read reviews and, if possible, excerpts from the book before buying it. Try these tips on book buying, check against this list of books to avoid, and read the ACCU Book Reviews.

Below is a list of books that are often recommended by #C++ regulars.

Categories:


C and C++

The C++ Programming Language
Author:Bjarne Stroustrup
ISBN:0201889544
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
Written by Bjarne Stroustrup, the creator of C++, this book gives a detailed, complete overview of the C++ programming language, its constructs, usage, and what constitutes well-formed and well-defined C++ code.

The Design and Evolution of C++
Author:Bjarne Stroustrup
ISBN:0201543303
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
This is the closest equivalent for C++ to the C Standard's accompanying rationale, D&E gives some history of the evolution of C++ from its infancy through to the ARM and provides many details of why C++ is the way it is, and of some ideas which were considered and rejected. While D&E does not cover ISO Standard C++, it is the best available guide to how C++ came to be the way it is.

Accelerated C++
Author:Andrew Koenig and Barbara E. Moo
ISBN:020170353X
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
This is an excellent book to teach C++ to someone who already has a basic familiarity with programming. It teaches standard C++ and is generally agreed by most #C++ regulars as being the definitive "teaching" text for people who already know another programming language.

The C Programming Language
Author:Brian Kernighan, Dennis Ritchie
ISBN:0131103628
Publisher:Prentice Hall
Order: Amazon USA | Amazon UK | Bookpool
Written by the original creators of the C programming language, The C Programming Language is a terse, factual read. An absolute must-have for any C/C++ programmer because frequent references are made to "The K&R book". Not suitable for beginners with no programming experience.

C++ Primer (4th Ed.)
Author:Stanley Lippman, Josee Lajoie, Barbara E. Moo
ISBN:0201721481
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
This book is a comprehensive examination of the C++ language, and is written by established experts in the C++ industry. Many consider this book to be the most thorough, complete title in its genre. It is often recommended as a first book for learning C++.

Effective C++
Author:Scott Meyers
ISBN:0201924889
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
This book contains examples on how to account for common issues faced when writing C++ programs, such as creation of temporaries, iterator invalidation, and other gotchas.

More Effective C++
Author:Scott Meyers
ISBN:020163371X
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
This book goes more in depth, following the same format as the first book, "Effective C++." This book explores issues such as exception safety, dynamic memory allocation, and more.

Modern C++ Design
Author:Andrei Alexandrescu
ISBN:0201704315
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
One of the best books on generic programming, this book explores several facets of C++ design that can be improved using generic programming and policy-based object design. Chapters of this book are dedicated to the Singleton pattern, smart pointers, abstract factory classes, and more.

Exceptional C++
Author:Herb Sutter
ISBN:0201615622
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
This book contains many of the items found at the GOTW site. These are laid out in an easy to read format, and includes several examples not found on that site. This is a good book to read from cover to cover, and refer to later as a reference for topics such as exception safety and solid commit-rollback assignment semantics.

More Exceptional C++
Author:Herb Sutter
ISBN:020170434X
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
This book goes more in depth, featuring topics such as the C++ standard library, optimization, inheritance and memory management.

C++ Templates
Author:David Vandevoorde, Nicolai M. Josuttis
ISBN:0201734842
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
This book is an excellent tutorial and detailed reference on the C++ template system. It covers techniques such as static polymorphism, policies, and template metaprogramming.

Exceptional C++ Style
Author:Herb Sutter
ISBN:0321113586
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
This book goes beyond learning the syntax and best practices of writing C++ code, and pushes the reader to really understand what the various aspects of the language are doing. Like the other Sutter books, this is written as a large collection of smallish items, some of which can be found in the Guru-of-the-week collection.

C++ Coding Standards
Author:Herb Sutter, Andrei Alexandrescu
ISBN:0321113586
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
Many people read Herb Sutter's Guru-of-the-week columns, and many have read Andrei Alexandrescu's Modern C++ Design or used his Loki library. Now they have teamed up to deliver a book on best practices for writing C++, based on their own considerable experience and on the wealth of experience from the C++ community as a whole.


The C++ Standard Library

Effective STL
Author:Scott Meyers
ISBN:0201749629
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
Covers a wide range of basics on how to use the STL to perform common programming tasks. Demonstrates why many of the C++ Standard Library algorithms and data structures are better suited for a wide range of tasks than rolling your own, and also demonstrates exceptions to this rule, where it is preferable to write your own.

The C++ Standard Library
Author:Nicholas M. Josuttis
ISBN:0201379260
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
The best book available for learning the C++ standard library. Covers containers, strings, algorithms, and more.

Generic Programming and the STL
Author:Matthew H. Austern
ISBN:0201309564
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
Very good buildup of STL; it focuses on concepts first and containers last. The book is a heavily annotated outgrowth from the SGI STL docs (which he also wrote). This book is probablya bit more formal than other standard library books.

Standard C++ Iostreams and Locales
Author:Angelica Langer, Klaus Kreft
ISBN:0201183951
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
This book covers IOStreams and Locales in thorough detail. It is written in such a style that a beginner who has been acquainted with the STL through some programming experience or through the book above should be able to keep up with the pace of this book. Experienced STL users will, however, appreciate this book's detail in explaining the interaction between IOStreams, locales, and performing formatted and unformatted I/O operations, as well as extending the template classes for custom applications.


Windows

Programming Windows, the Definintive Guide to the Win32 API
Author:Charles Petzold
ISBN:157231995X
Publisher:Microsoft Press
Order: Amazon USA | Amazon UK | Bookpool
The must-have Win32 book for every windows programmer

Programming Windows with MFC
Author:Jeff Prosise
ISBN:1572316950
Publisher:Microsoft Press
Order: Amazon USA | Amazon UK | Bookpool
The must-have MFC book for every windows MFC programmer

Programming Applications for Microsoft Windows
Author:Jeffrey Richter
ISBN:1572319968
Publisher:Microsoft Press
Order: Amazon USA | Amazon UK | Bookpool
Covers windows programming topics not specifically related to GUI programming, such as threads, memory, kernel objects, DLLs, and system APIs.


Algorithms and Theory

Introduction to Algorithms
Author:Thomas H. Cormen, Charles E. Liesserson, Ronald L. Rivest
ISBN:0262032937
Publisher:MIT Press
Order: Amazon USA | Amazon UK | Bookpool
The de facto standard algorithm book, this book contains derivation and analysis of common algorithms and data structures such as hash tables, red black trees, and directed graphs.

The Art of Computer Programming, Vol. 1-3
Author:Donald E. Knuth
ISBN:0201485419
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
This is the master of all algorithm and computer theory books, written by one of the pillars of the computer science community. This set is very tough reading, but very rewarding as well.


Compilers

lex & yacc
Author:John R. Levine, Tony Mason, Doug Brown
ISBN:1565920007
Publisher:O'Reilly
Order: Amazon USA | Amazon UK | Bookpool
This book explains how to use lex and yacc to create a lexer and a parser to recognize and parse a language based on a language specification.

Compilers (The Dragon Book)
Author:Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman
ISBN:0201100886
Publisher:Addison-Wesley
Order: Amazon USA | Amazon UK | Bookpool
The standard compiler book, discusses all aspects of compiler creation, from writing a lexer and parser, to checking code semantics and writing a code generator. Definitely a must for anyone who wants to write a compiler.