Programming Books C Java PHP Python Learn more Browse Programming Books

Sorry, this item is not available in
Image not available for
Image not available

To view this video download Flash Player


Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $16.19 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Accelerated C++: Practical Programming by Example [Paperback]

by Andrew Koenig, Barbara E. Moo
4.4 out of 5 stars  See all reviews (120 customer reviews)

Buy New
$33.47 & FREE Shipping on orders over $35. Details
In Stock.
Ships from and sold by Gift-wrap available.
In Stock.
Want it tomorrow, April 25? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student


Amazon Price New from Used from
Paperback $33.47  
Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

August 24, 2000 020170353X 978-0201703535 1
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.

Frequently Bought Together

Accelerated C++: Practical Programming by Example + Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) + The C++ Programming Language, 4th Edition
Price for all three: $116.55

Buy the selected items together

Editorial Reviews Review

If you don't have a lot of time, but still want to learn the latest in C++, you don't have to learn C first. You might learn more by digging into current language features and classes from the very beginning. That's the approach that's offered by Accelerated C++, a text that delves into more advanced C++ features like templates and Standard Template Library (STL) collection classes early on. This book arguably can get a motivated beginning programmer into C++ more quickly than other available tutorials.

What separates this title from the rest of the pack is that it jumps right in with samples that take advantage of the Standard C++ of today--from streams to built-in container classes, such as vectors and linked lists. Early examples are more complex than in other books, but the thoroughness and relaxed pace of the explanations will bring the novice up to speed. (Although it ships at a slender 350 pages, Accelerated C++ is packed with samples, tips, and example problems; about 10 per chapter.)

After a tour of basic C++, the book looks at more advanced C++ features, such as templates, including built-in support for containers. Besides tapping the strength of Standard C++, you also will learn to design with your own templates. (Other tutorials would defer this material until later on.) The authors have tested the approach in the book in their own teaching, and honed a set of worthwhile examples that will help anyone get familiar with these powerful language features. All examples make use of the command line and console (without GUI programs), but the advantage is that this code should run on any of today's operating systems and compilers. Later sections cover the basics of class design, which include good coverage of operator overloading and inheritance.

With its innovative approach to teaching the language, Accelerated C++ will challenge readers in the right way. It suggests that you don't need to learn C to be productive in C++. Written in an approachable style, it deserves a close look from any C++ novice. --Richard Dragan

Topics covered:

  • Introduction to C++
  • Console I/O with stream classes
  • Basic string handling
  • Loop and flow-control statements
  • Arrays
  • Using functions and methods
  • Using Standard Template Library (STL) containers (vectors, linked lists, and maps)
  • Iterators
  • Sorting and generic functions
  • Basic class design
  • Pointers and arrays
  • File I/O
  • Memory-management techniques, including statically and dynamically allocated memory
  • Adding stream support to custom classes
  • Conversion operators
  • Operator overloading
  • Friend functions
  • Inheritance
  • Polymorphism and virtual functions
  • Handle idioms for classes, including reference counting
  • Quick reference to the C++ language

From the Back Cover

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.


Product Details

  • Paperback: 352 pages
  • Publisher: Addison-Wesley Professional; 1 edition (August 24, 2000)
  • Language: English
  • ISBN-10: 020170353X
  • ISBN-13: 978-0201703535
  • Product Dimensions: 9.1 x 7.5 x 0.8 inches
  • Shipping Weight: 1.1 pounds (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (120 customer reviews)
  • Amazon Best Sellers Rank: #27,792 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews
123 of 124 people found the following review helpful
5.0 out of 5 stars Refreshingly new and very good indeed! August 31, 2000
By Michi
This is a nice change for the better! Instead of introducing the basics and then going on to class design, inheritance, and polymorphism, Andrew and Barbara delay things such as class design until the latter part of the book and instead launch straight into use of the STL, illustrated with practical examples of how to use STL containers and algorithms to solve programming problems.
As far as I am concerned, this is definitely a change for the better. Most programming projects I see heavily abuse inheritance to do things that would have better been done with templates and, as a rule, most C++ projects continue to ignore the STL, even though it is probably the most fundamental contribution to C++ programmer productivity in years. Following this book, readers are encouraged to use STL from the word go, which is as it should be.
The language and flow of the book are excellent, and the presentation is very lucid. What really shines through is that both authors are experts on the topic and really know what they are talking about. The explanations of language features are complete, correct, and precise. There is none of the muddled exposition that I find in so many other C++ books. The teaching experience that Andrew and Barbara have gained over the years is truly reflected in the prose. The book anticipates many questions and typically answers them just at the right time, namely, when the question is just about to pop into the reader's head.
Information density of the book is high. A lot of information is packed into few words, so the reader has to concentrate on what is being said, and skipping paragraphs is not something that I would recommend.
Read more ›
Comment | 
Was this review helpful to you?
114 of 117 people found the following review helpful
5.0 out of 5 stars Very effective alternative to other C++ books. September 30, 2000
Format:Paperback|Verified Purchase
I'll start by saying that I probably would not have understood this book as well as I have, if I had not already been teaching myself C++ through other forums (primers and online). The thing that most of these other forums have in common is that they start with the basics and build up slowly to the more abstract concepts. The problems come during the switchovers (char* to string, procedural programming to object oriented, pointers to iterators, linked lists to containers, etc). In almost all cases you learn the more basic, and paradoxically more difficult concepts first. Then you have to 'unlearn what you have learned' in order to use the more advanced concepts.
So what's different about this book? It teaches a mix of syntax and 'advanced' concepts right from the beginning. You learn the basics of loops and choice statements while using the Standard Library. You also use them in specific examples that have real world uses (the grading program in the first few chapters for example). The Standard Library is _easy_ compared to arrays, char*, rolling your own linked list, using pointers, etc. Since it takes far less time to learn, you can be writing useful programs very quickly. _Then_ the authors go on to describe some of the more 'basic' concepts, usually in terms of how they implement some of the ideas behind the Standard Library. Since you have that understanding already, things like pointers become easier not only to learn, but to understand how they can be used.
I have one complaint about the book, and that's with the grading program, specifically how it appears in Chapter 4. As written, it's very confusing to actually enter data to get it to run correctly. A minor complaint though, considering how many times I thought to myself 'Aha!
Read more ›
Comment | 
Was this review helpful to you?
56 of 59 people found the following review helpful
5.0 out of 5 stars The BEST introduction book on C++ yet! October 11, 2000
Format:Paperback|Verified Purchase
I have nothing to say about this book, except, among hundreds of C++ "intro-level" books available, this book is simply "the best". Why?
The answer is easy: Because it teachs C++ the way C++ should be taught.
Why re-invent the wheel if there are a lot of wheels available for you to use? Why learn to do things in "the hard way" if there is a lot easier ways to do?
C++ should be taught from its C-inherited no-more. In C, we used to do something in "the hard way". For example, just to use string efficiently, one would need to understand pointer properly, since C-string is pointer to char (char*). Just to dynamically store some instances of the object (to store the objects "as needed"), one would need to know how to manipulate pointers, which always lead to problems and confusion, to imprement the dynamic container.
And that's what almost all other C++ books try to teach you "first". And they will teach you what should be taught ealier "later". You, by that way, it takes longer to be productive, or even to be an able programmer.
Then, how C++ should be taught?
Bjarne Stroustrup, the father of C++, said clearly in one of his paper, named "Learning Standard C++ as a new Language", (available in his homepage) something like "Learning a programming language should support the learning of effective programming techniques. My favourite approach is to start teaching the basic language (variables, declaration, loop, etc...), together with a good library". And this is exactly the approach taught by this book.
I, personally, agree with the previous reviewer that with the approach used in this book, pointer and array are easier to understand than learning from the traditional approach.
Read more ›
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
4.0 out of 5 stars Great for already competent programmers
I wouldn't recommend this book to someone new to programming (though learning for the first time from it wouldn't be impossible). Read more
Published 1 month ago by James
5.0 out of 5 stars Great text thus far, very happy from a beginner
i am a programming beginner. I've taken cs 101 at uni with matlab which got me familiar with common programming language functionalities. Read more
Published 2 months ago by Duk J Jhoo
5.0 out of 5 stars Lucked out buying this one
I selected this book after reading reviews on Amazon and recommendations elsewhere. A concise, thorough, stimulating intro to C++. Perfect length too
Published 3 months ago by R. Anderson
3.0 out of 5 stars Not for beginners
This is a beautiful, dense, introduction to C++. But to get much out of it you should have some previous experience programming. Read more
Published 3 months ago by Science Geek
3.0 out of 5 stars Great approach, poor execution.
Great approach to teach but the samples are attached to a single subject through out the whole book that get you bored at the middle of the book.
Published 4 months ago by Stereoadvisor
3.0 out of 5 stars Good for starters
To some extent, it is designed for beginners. I thought and hoped it was more advanced on some topics. Good for starters though!
Published 4 months ago by Davide Jones
1.0 out of 5 stars Better Suited as a Reference Book
When a book like this has so many good reviews, it would be very hard to believe a review that actually pans it...isn't that right? Read more
Published 7 months ago by Mr Foxcroft
4.0 out of 5 stars Nice approach to learning C++
The direct method this book uses to get started with C++ is very clear and jump starts conceptual understanding by having the reader begin working with more advanced topics than... Read more
Published 8 months ago by Wavefunction
4.0 out of 5 stars Accelerated!
if you know a little programming(like python, java, etc...), this is a nice book who doesnt linger too long at stuff you know. Read more
Published 8 months ago by Eivind Berg Fosse
5.0 out of 5 stars Wonderful Book - Provided you know another language
I wouldn't recommend this to a first time programmer, but it's a great book if you've already learned another language and want to get started quickly with C++
Published 10 months ago by Isaac Goodfellow
Search Customer Reviews
Only search this product's reviews

What Other Items Do Customers Buy After Viewing This Item?

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more


There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
First post:
Prompts for sign-in

Look for Similar Items by Category