# CodeGuru Technical FAQs > CodeGuru Individual FAQs >  C++ General: What are good books about C++ ?

## Yves M

*Q:* What are good books on C++?

*A:* 

_Acccelerated c++_

Andrew Koenig & Barbara E. Moo
Addison-Wesley
August 2000
ISBN: 020170353X
https://www.amazon.co.uk/Accelerated...erated+c%2B%2B

_The c++ Programming Language fourth edition by Bjarne Stroustrup_

Bjarne Stroustrup
Addison-Wesley
May 2013
ISBN: 0321563840
https://www.amazon.co.uk/d/cka/C-Pro...s=c+stroustrup
_Exceptional c++_

Herb Sutter
Addison-Wesley
Nov 1999
ISBN: 0201615622
https://www.amazon.co.uk/Exceptional...tional+c%2B%2B
_More Exceptional c++_

Herb Sutter
Addison-Wesley
Dec 2001
ISBN: 020170434X
https://www.amazon.co.uk/d/cka/More-...tional+c%2B%2B
_Effective c++_

Scott Meyers
Addison-Wesley
May 2005
ISBN: 0201924889
https://www.amazon.co.uk/Effective-S...ective+c%2B%2B
_More Effective c++_

Scott Meyers
Addison-Wesley
Dec 1995
ISBN: 020163371X
https://www.amazon.co.uk/d/Books/Mor...ective+c%2B%2B
_The c++ Standard library second edition_

Nicolai M. Josuttis
Addison-Wesley
March 2012
ISBN: 0321623215
https://www.amazon.co.uk/Standard-Li...andard+library
_C++ coding standards_

Herb Sutter - Andrei Alexandrescu
Addison-Wesley
Oct 2004
ISBN: 0321113586
https://www.amazon.co.uk/Coding-Stan...ding+standards
_Effective STL_

Scott Meyers
Addison-Wesley
June 2001
ISBN: 0201749629
https://www.amazon.co.uk/Effective-S...effectgive+stl
_c++ templates second edition_

David Vandevoorde & Nicolai M. Josuttis
Addison-Wesley
Nov 2002
ISBN: 0201734842
https://www.amazon.co.uk/Templates-C...complete+guide
_Modern c++ design_

Andrei Alexandrescu
Addison-Wesley
Feb 2001
ISBN: 0201704315
https://www.amazon.co.uk/Modern-Desi...c%2B%2B+design
_C++ Gotchas: Avoiding Common Problems in Coding and Design_

Stephen C. Dewhurst
Addison-Wesley
Nov 2002
ISBN: 0321125185
https://www.amazon.co.uk/Gotchas-Add...%2B%2B+gotchas
_Inside the C++ Object Model_

Stanley B. Lippman
Addison-Wesley
May 1996
ISBN: 0201834545
https://www.amazon.co.uk/Inside-Obje...c%2B%2B+object
_C++ Strategies and Tactics_

Robert B. Murray
Addison-Wesley
1993
ISBN: 0201563827
https://www.amazon.co.uk/Strategies-...%2B+strategies
_Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14_

Herb Sutter
O'Reilly
Dec 2014
ISBN: 1491903996
https://www.amazon.co.uk/Effective-M...ds=herb+sutter
_Optimized C++_

Kurt Guntheroth
O'Reilly
Jan 2016
ISBN: 1491922060
https://www.amazon.co.uk/Optimized-C...mizing+c%2B%2B



A free e-book:
_Thinking in C++_ by Bruce Eckel is available here.

Update. Unfortunately this link is no longer valid.  :Cry:  These books are now available in print as two volumes

Volume 1
March 2000
Pearson
ISBN: 0139798099
https://www.amazon.co.uk/Thinking-In...ing+in+c%2B%2B

Volume 2
March 2003
Pearson
https://www.amazon.co.uk/d/cka/Think...ing+in+c%2B%2B


Note that many of these titles were published prior to the introduction of the c++11 standard. Whilst much of their advice is still relevant, c++11 was a major change to the c++ standard and this needs to be born in mind when reading these books.

FAQ contributed by: [Kevin Hall] [Sam Hobbs] [NMTop40] [elpiper] [miteshpandey]

----------


## JasonD

I personally found the following book to be very useful for starting out with C++.  For instance, it explains exactly what a class is - a data type, rather than explaining that it is some abstract thing that you could never possibly understand.  It also teaches the language in a proper order; it delays any talk about OO issues until the basics of the language have been taught (whereas other books start using string classes right from the get-go).  The first half of the book teaches C++, which is all you need for a good beginning.  The second half teaches MFC, which I cannot comment on - I don't use it.
_Beginning Visual C++ 6 by Ivor Horton_
Publisher: Wrox; 6th edition (August 26, 1998) 
ISBN: 0764543881
https://www.amazon.co.uk/Beginning-V...g+c%2B%2B+ivor 

Note that there is an updated version of this
Beginning Visual c++ 2013
https://www.amazon.co.uk/Ivor-Horton...g+c%2B%2B+ivor

Also by Ivor Horton there is 
Beginning c++14
https://www.amazon.co.uk/Beginning-a...g+c%2B%2B+ivor

----------


## Mutilated1

Thinking in C++ and Effective STL are both excellent books in my opinion.

Black Belt C++ also by Bruce Eckel is another good C++ book.  Its lighter reading than Thinking in C++, and its not a reference type book at all, but it does have a good variety of subjects that hit on C++ topics at all levels.  There are beginner topics as well as more advanced stuff.  Its pretty interesting reading too, especially if you are a big computer nerd like me.

Anyway, its not a teach C++ or a reference book at all but it does have some really good essays by Bruce Eckel and others, and I would recommend it completely.

----------


## Banditkills

I found this book very useful.

C++ Without Fear::by Brain Overland

Teaches you the basics, also covers more advanced 'ideas' later in the book. Which to be honest lost me a bit.

You get a free CD as well, with a compiler and source codes from the book. Even with the last chapters, i still recommend it.

The current version is edition 3 Dec 2015 
https://www.amazon.co.uk/Without-Fea...B+without+fear

----------


## Doron Moraz

Consider, Design Patterns by Eric Gamma, Richard Helm, Ralph Johnson, John M. Vlissides

----------


## Charades

I'd suggest "Sam's Teach Yourself" to be a great book for beginners.

The latest version is Sam's Teach Yourself c++ in One Hour a Day eighth edition Dec 2016 which also has some coverage of c++17!
https://www.amazon.co.uk/One-Hour-Sa...urself+c%2B%2B

There is also Sam's Teach Yourself c++ in 24 hours sixth edition August 2016 which covers c++14.
https://www.amazon.co.uk/d/Books/24-...s=sams+c%2B%2B

Note the 24 hour book has 480 pages and the One Hour a Day book has 800 pages for only a small increase in the price!

----------


## ovidiucucu

Professional C++, 2nd Edition by Marc Gregoire, Nicholas A. Solter, and Scott J. Kleper.

It's one of the most recently published and includes changes to the latest C++ standard, C++11.

Note that there is now a 4th edition that covers c++17
https://www.amazon.co.uk/Professiona...ywords=c%2B%2B

----------


## Sam Hobbs

The following is also worth mentioning. It seems that many really like it and many really do not. People should read the description of its purpose before purcahsing.

Programming: Principles and Practice Using C++
Bjarne Stroustrup
Addison-Wesley Professional
ISBN-10: 0321543726 
ISBN-13: 978-0321543721
"An Introduction to Programming by the Inventor of C++"

A second edition is now available which covers c++14. See https://www.amazon.co.uk/Programming...s=c+stroustrup

----------


## 2kaud

> I think "How to program C++" by Deitel is good for beginners.


As of the date of this post, the current version is the 10th edition. (c++14) See
https://www.amazon.co.uk/How-Program...c%2B%2B+deitel

Other books from which to learn c++ that could be considered include

Problem Solving with c++ tenth edition by Walter Savitch
https://www.amazon.co.uk/Problem-Sol...ywords=savitch

Starting Out with c++ ninth edition by Tony Gaddis
https://www.amazon.co.uk/Starting-Ou...ywords=c%2B%2B

(new version 19 Sept 2018 https://www.amazon.co.uk/Starting-Co...ywords=c%2B%2B )

c++ Programming eighth edition by D Malik
https://www.amazon.co.uk/dp/13371175...7186855&sr=1-1

Programming: Principles and Practice Using C++ second edition by Bjarne Stroustrup
https://www.amazon.co.uk/Programming...actice+using+c

Note that some of these books are available in different formats (eg loose leaf, with MyLab programming etc)

Also note that the current c++ standard is c++17. It is unlikely that any c++ book published prior to late 2017 will cover c++17. The previous standard was c++14. c++17 introduced several new concepts to the c++ language which make for a more 'modern' language.

and finally... for those that want the definitive_ reference_ for c++11 there is 

The c++ Programming Language fourth edition by Bjarne Stroustrup
https://www.amazon.co.uk/d/cka/C-Pro...s=c+stroustrup

When choosing a book, please remember that the c++ language evolves (c++98, c++11, c++14, c++17 etc) and that whilst older editions of a book - or a book published before the current c++ language was standardised - may be cheaper than the latest version, it won't cover the latest standard and practices.

----------


## 2kaud

On-line resources which may be of interest include

http://www.learncpp.com/
http://www.cplusplus.com/reference/
http://www.cplusplus.com/doc/
http://en.cppreference.com/w/cpp/language
https://isocpp.org/wiki/faq

----------


## 2kaud

Also consider for learning c++17

Beginning c++17 by Ivor Horton

https://www.amazon.co.uk/Beginning-C...ywords=c%2B%2B

_This latest edition has been fully updated to the latest version of the language, C++17, and to all conventions and best practices of so-called modern C++. Beginning C++17 also introduces the elements of the C++ Standard Library that provide essential support for the C++17 language._

----------


## Arjay

Professional C++, 4th Edition by Marc Gregoire (CodeGuru's MarcG)

http://www.wrox.com/WileyCDA/WroxTit...119421306.html

----------


## ovidiucucu

Modern C++ Programming Cookbook (CodeGuru's Marius Bancila)

https://www.amazon.com/dp/1786465183

----------


## 2kaud

See also this thread http://forums.codeguru.com/showthrea...560001-C-Books

----------

