Jump to ratings and reviews
Rate this book

Accelerated C++: Practical Programming by Example

Rate this book
Want to learn how to program in C++ immediately? Want to start writing better, more powerful C++ programs today? Accelerated C++'s uniquely modern approach will help you learn faster and more fluently than you ever believed possible. Based on the authors' intensive summer C++ courses at Stanford University, Accelerated C++ covers virtually every concept that most professional C++ programmers will ever use -- but it turns the "traditional" C++ curriculum upside down, starting with the high-level C++ data structures and algorithms that let you write robust programs immediately . Once you're getting results, Accelerated C++ takes you "under the hood," introducing complex language features such as memory management in context , and explaining exactly how and when to use them. From start to finish, the book concentrates on solving problems, rather than learning language and library features for their own sake. The result: You'll be writing real-world programs in no time -- and outstanding code faster than you ever imagined.

352 pages, Paperback

First published August 1, 2000

100 people are currently reading
921 people want to read

About the author

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
273 (37%)
4 stars
273 (37%)
3 stars
134 (18%)
2 stars
32 (4%)
1 star
9 (1%)
Displaying 1 - 30 of 38 reviews
Profile Image for Christian Brumm.
85 reviews21 followers
January 3, 2010
Very much recommended when you want to get up to speed in Programming in C++, the Modern (STL that is) way. Best benefit for experienced programmers. Tutorial style. Some of the stuff might be boring if you are very experienced, even if you haven't worked a lot with C++. Still the best book I know to start.
Profile Image for Nathan Brodsky.
15 reviews13 followers
November 27, 2019
The first part of the book is fantastic. I can't recommend it highly enough for a professional software developer that wishes to elevate him or herself to a higher standard. The secodn part was more difficult for me to digest. Anyway, I didn't regret of buying it.
Profile Image for Gubavac.
2 reviews
May 21, 2019
I don't understand why this gets such great reviews. It introduces some intermediate concepts quickly and then completely ignores the big ideas that make those concepts worth knowing. It's full of bad practices, like changing the interface to fit the implementation. Also, it's full of empty filler sentences like this: "In order to have a virtual destructor, the class must have a destructor, which we can then make virtual."
Profile Image for Leander.
15 reviews
February 15, 2014
The authors appear to have the teaching prowess they claim, as the book is clearly written and even the most abstract concepts are understandable after reading a sentence or paragraph for the second time. The Details section at the end of each chapter nicely summarizes the key take-aways and together with the two Appendices it provides a slim but powerful reference for aspiring C++ programmers.

However, as a programming newbie who went from the two "C for Dummies" books out there to this, it had a very steep learning curve. It seems more intended for people with many hundred or thousand hours of programming experience under their belt.

This assessment stems from the total lack of solutions to the exercises, which makes debugging and checking for logical errors very challenging impossible. Because some chapters build on exercise solutions of previous chapters, one can easily fall behind by not completing all the exercises. Without frequent consultation of Google, stackoverflow dot com, cplusplus dot com and the C++ FAQ, this book will suck the motivation out of any inexperienced programmer.

Took me ~65 hours to complete and I almost wish I had swallowed my ego and spend that time a the slower paced book like "C++ Primer Plus" instead.
Profile Image for Yash Patel.
174 reviews9 followers
February 17, 2019
Excellent book that walks through pragmatic ways of actually using C++ and only later exploring how things work in depth after you get that initial grasp. It is a little dated, i.e. some of the later chapters are irrelevant w/ C++ 11/14 considerations. Effective Modern C++ is a good complement to fix that flaw though
29 reviews35 followers
December 10, 2014
I really liked this book. This book goes over the basics (and some of the not-so-basics) of C++ programming. It introduces features of C++ and the standard library in a unique way: introducing new features to help make programs that solve problems, instead of making programs only to explore the features of C++ and the standard library.
I would not recommend this book for the absolute beginner. I feel that this book is for a person that has learned a tiny bit of the language and wants to know enough to do useful things with C++. If you want to learn to use C++ to do useful things, but know nothing about programming, I would suggest that you look at some other C++ programming book and then read this one.
11 reviews1 follower
October 1, 2014
I've been programming for over a decade and was recommended this book as good to learn C++ for people who already know how to program. However I felt like it was constantly talking down to me and went a bit slow, maybe a better description would've been that it's for people who already know how to program, but aren't very confident. In addition the (admittedly less than legitimate electronic) version I had had several errors including in examples, not a good look.
Profile Image for Fotis Koutoulakis.
117 reviews13 followers
December 30, 2020
This was a great book. I liked both its pedagogical style (first presenting a problem, and then utilising both the language and the library to solve it, while presenting the utilised features in a clean manner), and the fact that it presented ways to construct various useful structures (in particular, chapter 11 walks you through defining your own vector adt).

Definitely recommended if you want to learn C++.
9 reviews6 followers
November 2, 2019
I highly recommend this book to anyone who wants to get an accelerated and comprehensive introduction to C++ and has a solid background in Computer Science/programming languages. If you are already very familiar with Java or C and want to get up to speed with the C++ fundamentals, this is the book for you.

TLDR: Great examples, concise and clear explanations, incredible C++ coding practices.
Profile Image for David.
45 reviews22 followers
October 20, 2019
I had experience with Java, Python, Javascript, and SQL before reading this book, so I wanted something that was going to focus on C++ rather than fundamental programming. I was not disappointed, and I would recommend the book to others with a similar background. The first few chapters were fairly mundane, but the book quickly delved into pointers, memory deallocation, template functions, and other fairly gnarly, unfamiliar C-language constructs that were new to me.

There is lots and lots of clear, readable sample code that you can (and should) write, compile, and run while reading the book. This is perhaps the best feature since any attempt to describe in prose what a program does inevitably ends up in a convoluted mess. I used CLion and pushed my code to a private Github repository while I worked through the examples. I was constantly learning new and surprising things when compiling my code that dramatically enhanced my grasp of the language.

I don't doubt that there are more up-to-date books and that there are much better ways of doing the things described in this one, but having read this one, I feel confident enough to tackle more in-depth books and projects. That is, in fact, the stated intention of the authors. My only criticism of the book is that it jumps around between two or three different, independent code projects, making it difficult to organize code in a coherent way.
Profile Image for Lucas.
162 reviews31 followers
June 16, 2022
Livro fantástico. É impressionante a diferença que faz uma boa prática pedagógica. Havia tentado aprender C++ antes, mas sempre desanimava com os cursos em vídeos que tentei. Normalmente, os professores tentam construir o conhecimento do aluno em C++ usando uma bottom-up approach, o que faz com que você gaste um tempo imenso entendendo abstrações que você não sabe para o que serve direito. Difícil se empolgar dessa forma.

Neste livro do Koenig, o leitor tem a oportunidade de aprender a parte prática primeira (leia-se STL) e, posteriormente, são introduzidos conceitos de níveis mais baixos de abstração. Meu único reparo são os capítulos sobre OOP que incluíram um volume muito grande de conceitos em poucas páginas e destoa um pouco do restante do livro quando conceitos foram apresentados de forma mais cuidadosa.

C++ me parece uma área inteira de estudo. Pode ocupar uma pessoa pela vida inteira. Então, obviamente, você não vai aprender tudo de C++ em um livro com menos de 400 páginas, mas se seu objetivo é iniciar sua jornada e ser capaz de escrever programas que você pode se orgulhar, este livro é certamente um bom primeiro passo.
Profile Image for Pranjal Singh.
63 reviews26 followers
July 28, 2020
I came to know about this book from the "The Definitive C++ Book Guide and List" on stackoverflow.

However, I left this book at page 50. Although the book 'covers' the concepts, it does so in not-quite-so-useful manner. I didn't realize this when I picked up this book. I realized it when I started reading A Tour of C++ by Bjarne Stroustrup. That book is so well written I find it a waste of time to read this book. Maybe one can find something here which is not there. But that book just so well written I had to leave this one. I haven't completed that book yet, but would review it when I'm done (I usually read books cover to cover).
Profile Image for Max McKinnon.
216 reviews6 followers
September 7, 2023
I didn’t know much C++ before reading this (teaching it in grad school and getting the lowest attrition rate and highest class test scores counts for something, but I never have mastered any part of C++ ), but I liked the drop in to using the STL immediately much more than other C++ books I looked through which focused on low level semantics and implementing things that have already been done thousands of times, not the most productive level to add creative/differentiating output.

I would have enjoyed more insight into tooling (especially with chatgpt, the emphasis is more than ever on high level coding and tooling and creating, not low level coding), but overall this book had an effective applied knowledge methodology.
Profile Image for Danilo Novaković.
2 reviews3 followers
March 26, 2018
This is perfect introductory book to C++ for somebody with prior knowledge to C .
Lots of great exercises after each chapter in which you have to implement the stuff you learned.
I enjoyed every cover of this book and it helped me tremendously in my programming life, it was
fun and all the stuff learned are usable right away.
I would recommend this as first book to anybody who wants to learn C++ !
9 reviews
September 12, 2021
Very good book for C++ beginners with previous programming experience in other languages. First part of the book is very interesting to read and has great examples, the second part is harder to follow. I would recommend the book to C++ beginners which have previously been using C.
39 reviews
June 4, 2017
It was a bit too simple since I have programmed in C++ some years ago.
Profile Image for Minh Lai.
10 reviews
April 1, 2020
Even though, I have not used C++ much anymore, but I still think this is the book that helps me to understand all the basics about C++.
Profile Image for Mark.
7 reviews2 followers
June 15, 2020
A very concise (if now somewhat dated) introduction to C++ for somewhat experienced programmers coming from another language.

Sadly, only covers up to around 1995 as far as language features goes, so is now somewhat out of date when compared to modern C++ idioms (eg: there is no discussion on the use of shared_ptr<> - instead, the discussion centres around building a reference counting class around standard naked pointers as an effort to instill good pointer programming hygeine.
Profile Image for Ch1n3du.
7 reviews
October 4, 2025
a bit dated but the closest analog to the rust book i've been able to find for c++
86 reviews
December 10, 2017

Synopsis:

This is a first-rate introductory book that takes a practical approach to solving problems using C++. It covers a much wider scope of C++ programming than other introductory books I've seen, and in a surprisingly compact format.

—Dag Brück, founding member of the ANSI/ISO C++ committee

The authors present a clear, cogent introduction to C++ programming in a way that gets the student writing nontrivial programs immediately.

—Stephen Clamage, Sun Microsystems, Inc., and chair of the ANSI C++ committee

Anyone reading just this one book and working through the examples and exercises will have the same skills as many professional programmers.

—Jeffrey D. Oldham, Stanford University

Why is Accelerated C++ so effective? Because it

Starts with the most useful concepts rather than the most primitive ones: You can begin writing programs immediately. Describes real problems and solutions, not just language features: You see not only what each feature is, but also how to use it. Covers the language and standard library together: You can use the library right from the start.

The authors proved this approach in their professional-education course at Stanford University, where students learned how to write substantial programs on their first day in the classroom.

Whether you are eager to get started writing your first C++ programs, or you are already using C++ and seeking deeper understanding, the authors' unique approach and expertise make Accelerated C++ an indispensable addition to your library.

Booknews:

The unconventional approach of this textbook starts with the most useful parts of C++ rather than the most primitive ones, introducing the language and standard library together from the very beginning. The authors concentrate more on solving problems than on exploring language and library features. Annotation c. Book News, Inc., Portland, OR (booknews.com)

Biography:

Andrew Koenig is a member of the Large-Scale Programming Research Department at AT&T's Shannon Laboratory, and the Project Editor of the C++ standards committee. A programmer for more than 30 years, 15 of them in C++, he has published more than 150 articles about C++, and speaks on the topic worldwide.

Barbara E. Moo is an independent consultant with 20 years' experience in the software field. During her nearly 15 years at AT&T, she worked on one of the first commercial products ever written in C++, managed the company's first C++ compiler project, and directed the development of AT&T's award-winning WorldNet Internet service business.

0

208 reviews45 followers
August 20, 2012
Although I learned C++ from Cay S. Horstmann's book (currently called Big C++) I always recommend Accelerated C++.

Unlike many other introductory books, Koenig and Moo work hard to guarantee that examples don't need disclaimers ("of course, in a real program you'd just use std::string instead of our string class ..."), and that language features are used when they make sense.

Like Horstman, Koenig and Moo realize that using classes is much easier than writing them, and show how to use classes early in the book, and discuss class design later.

Koenig and Moo are among the great programmers to come from Bell Labs, and worked closely with Stroustrup while he was there ("argument dependent" lookup is also called "Koenig lookup"), and it's hard to turn down a chance to learn from them.
Profile Image for Dietmar .
28 reviews
January 2, 2014
A great book that introduces concepts and practices of C++. The learning curve is without question steep - the authors explained within 300+ pages what otherwise would be rolled out in more than 1000 pages - however the well-organized structure guides readers through the core of C++ with lively examples.

As the reader reads on, the book reveals more and more advanced staff, such as dynamic memory management, handles, and template programming. At the first sight they seem daunting, however upon the second, third, or even the fourth reading they will eventually become meaningful.

If I may make a suggestion to the potential reader of this book: do not get frustrated when you feel that you did not get it: simply read it again. And the bonus: do the excercises.

In my opinion it is a pity that such textbooks are not available for many other programming languages. Potentially because few authors could provide such a clear yet knowledgeable overview on a programming language. Respect.
9 reviews
July 7, 2017
This book is the fastest way to get up to speed in programming in C++. No time is wasted. The reader is plunged immediately into writing C++ programs. There are no digressions into C, simply real-world problem-solving using the Standard C++ Library. Constructors, destructions, vectors, pointers, arrays, and memory management are all covered - in context - not as separate, abstract concepts. If you're trying to learn C++ programming, don't waste your time with other books. This is the one to buy.

Free C++ resources, such as compilers and the libraries are available for free at http://gcc.gnu.org/
52 reviews14 followers
April 6, 2019
A solid albeit pre-2011 overview of C++ from an STL first perspective. If you happen to be able to glance a copy but don't want to trudge through all its chapters, I'd say the main points and chapters to analyze would be: Chapter 6 for the library coverage, Chapters 10-12 for memory management abstractions with objects, and chapter 15 for an example of how to think over architecture.

If were to teach a course, I would take some materials from the book, as well as the spirit of covering something practice-first, but I would probably assign online reading materials like the C++ core guidelines instead for readings.
Profile Image for Sananab.
291 reviews15 followers
November 29, 2021
I needed to brush up on my C++ after not having used it for a long long time. This book was fine and did the job, but it was pretty uninspiring. Towards the end, it felt quite messy and jumbled. It also didn't sell the language very well. A lot of the time I found myself thinking, "Yuck. Why not just use C?". When you make a language seem less convenient than C, I think there's a problem.

I think a better book probably could have presented the language in an inspiring way that would have made me want to use it. Instead of making me think C++ is a crufty language that's a chore to get anything done in.
29 reviews
September 10, 2016
This is the first book I read about C++. It is a very good introductory book for someone who has basic knowledge of C programming, or perhaps even no programming experience at all. It covers the most important aspects of object-oriented C++03, from the very basic up to complex constructs like templates. At the same time, it is not lengthy at all and quite easy to read.
Profile Image for Antonio Gutierrez.
28 reviews
December 7, 2013
It has a high learning curve, but that's because it's explaning what other books explain in 800 or 1000+ pages in just over 300.It builds solid base and introduction to C++ syntax and its OOP concepts and it does it in very short time.
3 reviews
July 6, 2012
A masterpiece for learning C++ and Object Oriented Programming.
Displaying 1 - 30 of 38 reviews

Can't find what you're looking for?

Get help and learn more about the design.