Programming Books C Java PHP Python Learn more Browse Programming Books
  • List Price: $89.99
  • Save: $69.27 (77%)
Rented from RentU
To Rent, select Shipping State from options above
Due Date: Dec 20, 2014
FREE return shipping at the end of the semester. Access codes and supplements are not guaranteed with rentals.
Used: Very Good | Details
Sold by My Cat Sells
Condition: Used: Very Good
Comment: Eligible for FREE Super Saving Shipping! Fast Amazon shipping plus a hassle free return policy mean your satisfaction is guaranteed! Tracking number provided with every order. Slight wear on edges and covers; otherwise item is in very good condition.
Access codes and supplements are not guaranteed with used items.
Add to Cart
  • List Price: $89.99
  • Save: $33.16 (37%)
Only 6 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
Add to Cart
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

The C++ Programming Language: Special Edition (3rd Edition) Hardcover – February 11, 2000

ISBN-13: 978-0201700732 ISBN-10: 0201700735 Edition: 3rd

Buy New
Price: $56.83
Price: $20.72
44 New from $29.91 80 Used from $5.29 1 Collectible from $34.00
Amazon Price New from Used from
"Please retry"
$29.91 $5.29
"Please retry"


Frequently Bought Together

The C++ Programming Language: Special Edition (3rd Edition) + Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)
Price for both: $91.40

Buy the selected items together


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

Product Details

  • Hardcover: 1030 pages
  • Publisher: Addison-Wesley Professional; 3 edition (February 11, 2000)
  • Language: English
  • ISBN-10: 0201700735
  • ISBN-13: 978-0201700732
  • Product Dimensions: 1.7 x 7.6 x 9.4 inches
  • Shipping Weight: 3.8 pounds (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (124 customer reviews)
  • Amazon Best Sellers Rank: #43,037 in Books (See Top 100 in Books)

Editorial Reviews

From the Inside Flap

Programming is understanding.
-- Kristen Nygaard

I find using C++ more enjoyable than ever. C++'s support for design and programming has improved dramatically over the years, and lots of new helpful techniques have been developed for its use. However, C++ is not just fun. Ordinary practical programmers have achieved significant improvements in productivity, maintainability, flexibility, and quality in projects of just about any kind and scale. By now, C++ has fulfilled most of the hopes I originally had for it, and also succeeded at tasks I hadn't even dreamt of.

This book introduces standard C++* and the key programming and design techniques supported by C++. Standard C++ is a far more powerful and polished language than the version of C++ introduced by the first edition of this book. New language features such as name spaces, exceptions, templates, and run-time type identification allow many techniques to be applied more directly than was possible before, and the standard library allows the programmer to start from a much higher level than the bare language.

About a third of the information in the second edition of this book came from the first. This third edition is the result of a rewrite of even larger magnitude. It offers something to even the most experienced C++ programmer; at the same time, this book is easier for the novice to approach that its predecessors were. The explosion of C++ use and the massive amount of experience accumulated as a result makes this possible.

The definition of an extensive standard library makes a difference to the way C++ concepts can be presented. As before, this book presents C++ independently of any particular implementation, and as before, the tutorial chapters present language constructs and concepts in a "bottom up" order so that a construct is used only after it has been defined. However, it is much easier to use a well-designed library than it is to understand the details of its implementation. Therefore the standard library can be used to provide realistic and interesting examples well before a reader can be assumed to understand its inner workings. the standard library itself is also a fertile source of programming examples and design techniques.

This book presents every major C++ language feature and the standard library. It is organized around language and library facilities. However, features are presented in the context of their use. That is, the focus is on the language as the tool for design and programming rather than on the language in itself. This book demonstrates key techniques that make C++ effective and teaches the fundamental concepts necessary for mastery. Except where illustrating technicalities, examples are taken from the domain of systems software. A companion, The Annotated C++ Language Standard, presents the complete language definition together with annotations to make it more comprehensible.

The primary aim of this book is to help the reader understand how the facilities offered by C++ support key programming techniques. The aim is to take the reader far beyond the point where he or she gets code running primarily by copying examples and emulation programming styles from other languages. Only a good understanding of the ideas behind the language facilities leads to mastery. Supplemented by implementation documentation, the information provided is sufficient for completing significant real-world projects. The hope is that this book will help the reader gain new insights and become a better programmer and designer.


In addition to the people mentioned in the acknowledgment section of the first and second editions, I would like to thank Matt Austern, Hans Boehm, Don Caldwell, Lawrence Crowl, Alan Feuer, Andrew Forrest, Tim Griffin, Peter Juhl, Brian Kernighan, Andrew Koenig, Mike Mowbray, Rob Murray, Lee Nackman, Joseph Newcomer, Alex Stepanov, David Vandevoorde, Peter Weinberger, and Chris Van Wyk for commenting on draft chapters of this third edition.

I would also like to thank the volunteers on the C++ standards committees who did an immense amount of constructive work to make C++ what it is today. It is slightly unfair to single out individuals, but it would be even more unfair not to mention anyone, so I'd like to especially mention Mike Ball, Dag Brueck, Sean Corfield, Ted Goldstein, Kim Knutilla, Andrew Koenig, Josee Lajoie, Dmitry Lenkov, Nathan Myers, Martin O'Riordan, Tom Plum, Jonathan Shopiro, John Spicer, Jerry Schwarz, Alex Stepanov, and Mike Vilot, as people who each directly cooperated with me over some part of C++ and its standard library.

After the initial printing of this book, many dozens of people have mailed me corrections and suggestions for improvements. I have been able to accommodate many of their suggestions within the framework of the book so that later printings benefitted significantly. Translators of this book into many languages have also provided many clarifications. In response to requests from readers, I have added appendices D and E. Let me take this opportunity to thank a few of those who helped: Dave Abrahams, Matt Austern, Jan Bielawski, Janina Mincer Daszkiewicz, Andrew Koenig, Dietmar Kuehl, Nicolai Josuttis, Nathan Myers, Paul E. Sevinc, Andy Tenne-Sens, Shoichi Uchida, Ping-Fai (Mike) Yang, and Dennis Yelle.

Bjarne Stroustrup
Murray Hill, New Jersey


From the Back Cover

Written by Bjarne Stroustrup, the creator of C++, this is the world's most trusted and widely read book on C++.The result is complete, authoritative coverage of the C++ language, its standard library, and key design techniques. Based on the ANSI/ISO C++ standard, The C++ Programming Language provides current and comprehensive coverage of all C++ language features and standard library components.

For example:
  • abstract classes as interfaces
  • class hierarchies for object-oriented programming
  • templates as the basis for type-safe generic software
  • exceptions for regular error handling
  • namespaces for modularity in large-scale software
  • run-time type identification for loosely coupled systems
  • the C subset of C++ for C compatibility and system-level work
  • standard containers and algorithms
  • standard strings, I/O streams, and numerics
  • C compatibility, internationalization, and exception safety Bjarne Stroustrup makes C++ even more accessible to those new to the language, while adding advanced information and techniques that even expert C++ programmers will find invaluable.

  • More About the Author

    Bjarne Stroustrup is the designer and original implementer of C++.
    He is a founding member of the ISO C++ standards committee and a major contributor to modern C++.
    He worked at Bell Labs and is now a managing director in Morgan Stanley's technology division.
    He is also a visiting professor at Columbia University and a distinguished research professor at Texas A&M University.
    He is a member of the USA National Academy of Engineering, an ACM Fellow and an IEEE Fellow.
    His publication list is as long as your arm. For details, see his home pages.

    Customer Reviews

    I recommend this book to any level of C++ programmer.
    Alex Ferrugia
    Especially, if you are a novice, please read one or two "good" primer book before coming to this one, otherwise you will get lost easily.
    Rawitat Pulam
    The book is a very good reference to understand and write C++ codes.
    Andre Rodrigues Simoes

    Most Helpful Customer Reviews

    664 of 681 people found the following review helpful By A Customer on April 11, 2001
    Format: Hardcover
    This book is written in the way creator Bjarne Stroustrup sees his language and how his language should be used. This book is not thin on material for the intermediate to advanced C++ software engineer.
    One word in warning to potential buyers: You better be sharp with your STL skills before reading this book. Stroustrup writes his implementations around the STL which is not covered from a tutorial style in this book before he introduces it, which tells you that he meant for this book strictly as a reference not as a readers book. This critism is constructive, not disruptive, but I have been programming in standard ANSI/ISO C++ for 9 years, this book is best understood if you read the following first, if not, this book for even an itermediate C++ program cannot be digested to the fullest and you will reading this book fooling yourself of how much knowledge you have attained, when in reality, all that you have accomplished is reading this book so that you can say that you read Stroustrup, which is foolish, so read these first:
    1) C++ Primer 3rd Edition: Stanley Lippman Addison Wesley Books Strengths: If you are starting out with C++ with no C++ experience, this book covers every facet beginner to advanced topics, such as fundamental classes, class design covering nested class and intense class scoping rules, which Stroustrups book does not cover, there is no reference to nested classes and access privileges with nested classes with Stroustrup's book. The chapters on function templates and another chapter on class templates are the most complete and thorough beyound what you need to know for richness is explained brilliantly and better than scant coverage in Stroustrup's.
    Read more ›
    15 Comments Was this review helpful to you? Yes No Sending feedback...
    Thank you for your feedback. If this review is inappropriate, please let us know.
    Sorry, we failed to record your vote. Please try again
    65 of 69 people found the following review helpful By Rawitat Pulam on April 14, 2000
    Format: Hardcover Verified Purchase
    From my years of being a C++ programmer, this is definitely the one of the best reference books I've ever used. This book cover all the aspects of C++, one of the most complicated programming language, with a nice detail of everything, including STL (Standard Template Library, the C++ new standard library).
    However, this book is, like all of the previous editions, NOT a language/programming tutorial. To read this book, you will need tons of C++ & OOP knowledge, even if you are an ace C programmer (since C is quite different from C++ in "The Way of Thinking"). Especially, if you are a novice, please read one or two "good" primer book before coming to this one, otherwise you will get lost easily. (Believe me, it's happened to me before when I tried to read the 2nd edition).
    Moreover. In this edition, the author, Bjarne Stroustrup, added 2 more appendixes on "locales" and "standard library exception safety", which would make this book even more useful and more complete than any previous editions. And would make this become "A Bible" for C++ Programmaing Language.
    If you are a "serious" C++ programmer (or wannabe), you can't get anything better than this. This is a MUST!
    Comment Was this review helpful to you? Yes No Sending feedback...
    Thank you for your feedback. If this review is inappropriate, please let us know.
    Sorry, we failed to record your vote. Please try again
    Format: Hardcover
    Over the last two years, I have come to love the C++ language despite all its quirks and horrendous syntax. I view its primary creator and the C++ expert community with much awe . I love the STL, Boost and Blitz libraries for their elegance in design and ease of use. Considering my prior programming experience was on the uncomplicated Java platform, this is something. :-)

    IMHO this book does not live up to the language. Being the recommended text, this book has had the very unfortunate effect of scaring away a lot of intelligent programmers from the C++ world. I am an intermediate programmer who had a fair command over C and Java and who had done his share in building enterprise software. Despite my best efforts, I was unable to learn C++ from this book. I struggled a couple of times and then threw this book away. Learning tensor calculus is easier than learning C++ from this book! When I did get around to having a command over C++, I found this book boring, longwinded, with very little value-add for all the reading time invested.

    I am highly amused by the top-rated review given for this book which states that one must first go through the 'C++ primer', 'C++ algorithms' by Sedgewick and 'the C++ standard library' by Josuttis before attempting to study 'The C++ programming language'. The fact of the matter is that if you have gone through all of those, there is very little to learn from Stroustrup's text apart from nodding at most of the passages - you are simply better off skipping it.

    Whether you are a newbie or an experienced programmer in another language/platform, there isn't much value gained in reading this book. There are better C++ texts out there. My view is that this book should have been organized better.
    Read more ›
    7 Comments Was this review helpful to you? Yes No Sending feedback...
    Thank you for your feedback. If this review is inappropriate, please let us know.
    Sorry, we failed to record your vote. Please try again
    58 of 69 people found the following review helpful By Zachary Turner on March 23, 2000
    Format: Hardcover Verified Purchase
    I get extremely aggravated by people who read a book like thisand say how terrible it is, how the examples are hard to understand,and how hard the code is to understand, etc etc... Blah blah blah. It's pretty obvious to an experienced programmer that these people clearly are not the target audience of the book. The target audience of this book is programmers who have a couple years of experience programming (at least in C, preferably in C++). Additionally, you must be able to understand some rather complex terminology, and some concepts that go well beyond the basics of just writing simple programs. You must also have a desire to learn the C++ language inside and out, leaving nothing whatsoever unclear about the language. If all you want is the basic syntax of the language and lots of handholding then I cannot imagine why you're even looking at a book by the creator of the language in the first place.
    That said, this is a truly amazing book. You will never, ever, ever find a more in depth description of the language, it's features and caveats, and how to make the language do what you want it to do and make programming simple in large systems. When you reach a certain point it isn't as simple as "okay let's have a class with some get and set methods here". You must have a thorough understanding of some extremely advanced features, and this book will definitely get you to that point if you put in the time. The way the explanations are worded and the examples that are given are difficult to understand because there's no simple way to explain such advanced concepts.
    Read more ›
    Comment Was this review helpful to you? Yes No Sending feedback...
    Thank you for your feedback. If this review is inappropriate, please let us know.
    Sorry, we failed to record your vote. Please try again

    Customer Images

    Most Recent Customer Reviews


    What Other Items Do Customers Buy After Viewing This Item?