Modified June 8, 2014

Programming -- Principles and Practice Using C++ (Second Edition)

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 in industry, for more than 8 years and to many thousands of students of varying backgrounds.

This second edition uses the current ISO standard C++, C++11 with a few features from C++14: C++11. 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):

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 have problems getting the C++11 code towork, you might consider using the C++98 version.

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):

  • Chinese translation (tradiditional). GrandTech Information Co. 2012. ISBN 978-986-2571-85-9.

    Translations in progress:

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


    Comments on the web:

    Other noteworthy: