
We earn a commission if you buy through these links. Learn more
Accelerated C++
by Andrew Koenig, Barbara E. Moo
A fast, practical route into C++ that starts with the standard library and real programs, rather than pointers and language theory first.
What It's About
Accelerated C++ is a programming book that teaches C++ to people who already know how to program, or who want to become productive quickly. Its central move is to start with the standard library: early chapters use strings, vectors, maps, and algorithms to solve small, realistic problems such as counting words or grouping data. Lower-level mechanics like pointers, manual memory management, and class design arrive when the examples actually need them, not before.
The style is hands-on and compact. Each concept is introduced through a working program, then explained and practiced through exercises. The text stays focused on writing idiomatic code rather than cataloging every corner of the language, so reading it feels closer to working alongside two experienced C++ developers who keep steering you toward good habits.
Expect a brisk pace. The book assumes you will engage with the exercises and will not linger on definitions. Readers who want exhaustive reference coverage, or a slow and gentle introduction to programming itself, will find it demanding in a different way.
Read this if you…
- want a practical C++ foundation that gets you writing real programs quickly
- already program in another language and want to skip a slow, beginner-paced tour
- learn best by solving problems and then understanding the tools that solved them
Skip it if you…
- are completely new to programming, since the book assumes comfort with basic programming ideas
- need your main goal to be modern C++ features such as smart pointers, lambdas, or move semantics
Key Ideas
- 1
Learn the library before the machinery
The book delays raw pointers and memory management until you have already written useful programs with containers, strings, and algorithms. This ordering means you start by solving problems instead of wrestling with low-level details, and the underlying mechanics make more sense once you have seen why they exist.
- 2
Start from the problem, not the syntax
Each topic is motivated by a concrete task the program must accomplish. Instead of memorizing rules in isolation, you see a need, write a solution, and then learn the language feature that made the solution cleaner. This builds judgment about when a given tool is the right choice.
- 3
Algorithms and iterators over hand-written loops
A major theme is that generic algorithms, combined with iterators, express intent more clearly and reliably than manual index-based loops. The book trains you to ask which standard algorithm fits a task before reaching for a custom loop, which tends to produce shorter and less error-prone code.
- 4
Idiomatic habits from the very beginning
Rather than teaching bad habits first and correcting them later, the book aims to instill good ones early. Value semantics, sensible copying behavior, and well-designed interfaces are presented as the normal way to write C++, so the code you practice with is close to what experienced programmers write.
Limitations
Accelerated C++ was written around the language as standardized in 1998, so it predates C++11 and its many additions. Features like auto, lambdas, smart pointers, move semantics, and range-based loops are absent or only glancingly touched. Modern practice has shifted, so readers should pair it with a current reference. Some critics find the pace brisk and the exercises demanding without much hand-holding. Its coverage is intentionally selective, so advanced templates, concurrency, and large-scale design fall outside its scope.
Questions Readers Ask
- Is Accelerated C++ still worth reading today?
- Yes, for its core ideas. The emphasis on the standard library, algorithms, and clean value-based design still holds up well. Because the book predates C++11, though, you will need supplementary material to cover modern features like smart pointers and lambdas.
- How does Accelerated C++ compare with C++ Primer?
- C++ Primer is larger and more exhaustive, covering the language in a broader, reference-friendly way. Accelerated C++ is shorter and more opinionated, getting you to useful programs faster with less breadth. Readers wanting one comprehensive reference often prefer Primer, while those wanting a focused, quick start often prefer Accelerated C++.
- Published
- 2000
- ISBN
- 9780201703535
- Difficulty
- intermediate
- Category
- Tech
Book details and cover from Google Books.
Ready to read Accelerated C++?
Get your copy on Amazon, or listen to it on Audible. We earn a commission if you buy through these links.