Stroustrup: Programming — Principles and Practice Using C++

Modified June 8, 2014

This is the support site for Stroustrup:
“Programming: Principles and Practice using C++ (Second Edition)” Addison-Wesley 2014, ISBN 978-0-321-99278-9.

support for the first edition of PPP

This book is aimed at beginners taking a programming course and people learning C++ as self study.
For details, see these samples:

This book is based on a course I designed for engineering freshmen at Texas A&M University.
It has now been taught by me and others, at TAMU, and elsewhere, in academia and industry, for more than 8 years and to many thousands of students.

This second edition uses the current ISO standard C++, C++11 with a few features from C++14:
It is currently available in (physical and web) book stores.
For learning how to program, I recommend the paper version.

I wrote an academic paper to explain a possible role for the book/course in a more complete education:
Programming in an undergraduate CS curriculum

Note this is not the 4th edition of
The C++ Programming Language.

This page and its supporting material is under construction. Comments and suggestions are welcome.
In particular, I’d like to hear if someone adopts the book for a course.
Maybe we could set up a mechanism for sharing experience.

By the numbers (about):

  • 1305 pages
  • 28 chapters
  • 5 appendices
  • 1 preface
  • 1 glossary
  • 1 index
  • just over a quarter of a million words
  • 39 photos
  • 67 screen shots
  • 174 diagrams
  • 120 tables
  • 375 exercises
  • 26 drills
  • 650 review questions
  • 55 bibliographical references
  • 4lb==1.83kg (that’s much heavier than the laptop on which it was written!)

What do such numbers mean?
Not much; e.g., is the word count a sign of “lots of useful information” or proof of verbosity?
I prefer the former explanation.

Supporting material:

Supporting code:

For PPP2, I am assuming that you (the reader) have a working
C++11 compiler.
For clang and GCC, you may have to use the -std=c++11 option.
For Microsoft, you’ll need a recent compiler or beta.

If you are a student on a programming course, your school will have installed one and there will be
teachers or teaching assistent to help you in case of trouble.
If you are on your own and not an experienced programmer, I strongly recommend you seek help from someone who has installed
software before.
One problem is that there are lots of C++ compilers and operating system distributions, so I can’t simply provide
you with a simple description of how to install: It will depend on “which compiler?” and which “operating system?”
Here is a
writeup sent to me by a reader
using the Ubuntu distribution of Linux and GCC.
And here is a Makefile for Mac sent by a reader.

A reader supplied files that you might find helpful if you are struggling with Visual Studio and std_lib_facilities.h:

Why birds?
Just because I like that photo; I was looking for a calm image.
Sometimes a bird is just a bird.
They are swans, by the way.

Translations (So far only translations of the first edition (using C++98) are available):

  • Polish: Helion SA. March 2010. 978-83-246-2233-7.
  • German – Pearson Education Deutschland Gmbh. 2010. ISBN 978-3-86894-005-3.
    Support page.
  • Chinese (simplified) – Pearson Education Asia Ltd. and China Machine Press/Huazhang Co.
    2010. ISBN: 9787111303220
  • French – Pearson Educational France. 2010. ISBN 978-2-7440-7442-4.
    Support page with online appendices.
  • Russian translation. Williams Publishing. 2010. ISBN 978-5-8459-1621-1.
  • Korean – Pearson Education Korea Ltd and Dae Woong Publishing Co. 2010. ISBN978-8-98604-480-5.
  • Japanese translation. Shoeisha Company Ltd. 2011. ISBN 978-4798119595.
  • Portugese translation. Bookman Publishing. Artmed Editoria SA (Brazil). 2012. ISBN 987-85-7780-958-5.
  • Chinese translation (tradiditional). GrandTech Information Co. 2012. ISBN 978-986-2571-85-9.

    Translations in progress:

    • Greek – Papasotiriou Bookstores and Publishers

    Cover pictures of the editions I have can be found on my cover gallery


    Comments on the web:

    Other noteworthy:

  • Source Article