- Hardcover: 1030 pages
- Publisher: Addison-Wesley Professional; 3 edition (February 11, 2000)
- Language: English
- ISBN-10: 9780201700732
- ISBN-13: 978-0201700732
- ASIN: 0201700735
- Product Dimensions: 7.5 x 1.6 x 9.5 inches
- Shipping Weight: 3.9 pounds (View shipping rates and policies)
- Average Customer Review: 662 customer reviews
- Amazon Best Sellers Rank: #418,559 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
The C++ Programming Language: Special Edition (3rd Edition) 3rd Edition
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
Frequently bought together
Customers who bought this item also bought
In this brand-new third edition of The C++ Programming Language, author Bjarne Stroustrup, the creator of C++, presents the full specification for the C++ language and standard library, a spec that will soon become the joint ISO/ANSI C++ standard.
Past readers will find that the new edition has changed a great deal and grown considerably to encompass new language features, particularly run-time type identification, namespaces, and the standard library. At the same time, readers will recognize the lucid style and sensible advice that made previous editions so readable and enjoyable. Probably the biggest change is a substantial new section, well over 200 pages in length, covering the contents and design of the C++ standard library, the most important new feature of the C++ specification. The author has also added a substantial number of new exercises while keeping many from previous editions that have retained their value.
While The C++ Programming Language is not a C++ tutorial, strictly speaking, anyone learning the language, especially those coming from C, will greatly benefit from the clear presentation of all its elements. It is impossible to overstate the importance of this book for anyone who is serious about using C++. --This text refers to an out of print or unavailable edition of this title.
Read the entire review, including a chapter-by-chapter analysis of this book.
Bjarne Stroustrup's The C++ Programming Language, Third Edition (Addison-Wesley, 1997) has been available for several months. This work, by the creator of C++, is the definitive treatment of the subject and has been since its first edition in 1987. I must confess that I did not care for the first edition. I had expected a tutorial approach as elegant as the classic K&R white book. But then, K&R was about C, a programming language that supported a familiar programming model. The C++ programming model was new to most of us ten years ago, and Stroustrup's first edition was daunting, to say the least. Looking at it now, I find it far less so and much easier to read.
Comparing the first and third editions of The C++ Programming Language provides insight into how the C++ language has grown and changed in the past decade. The third edition has almost three times the number of pages and a slightly different organization. Whereas the first edition included a 67-page language reference manual at the end, the third edition includes only a language grammar section to represent formal language definition. This is appropriate. The ANSI/ISO Standard document, which is now the formal language and library definition, is itself about 750 pages long. Stroustrup plans to publish The Annotated C++ Language Standard (coauthored by Andrew Koenig, the ANSI C++ committee's Project Editor) sometime this year.
The third edition takes a tutorial approach with many of Stroustrup's personal programming philosophies. The author's explanations of how he uses language features provide examples for learning the behavior of those features. He also explains code idioms that some programmers routinely use but that he finds inappropriate.
As much as possible, the third edition reflects Standard C++. When small language features are found to be missing, particularly new ones, Stroustrup pledges to add them to a future printing...
This book is an essential addition to a C++ programmer's library. It is not for dummies, and it wouldn't be my first choice for an entry-level, self-help tutorial on C++ for beginning programmers. It is, however, an excellent textbook for programmers who are self-motivated and students who study under the watchful care of a skilled instructor. As an experienced C++ programmer, I find the book useful as a reference to language usage and behavior. The author invented the language and then stayed close to the standardization and innovation process for the duration, always maintaining a careful vigilance over the evolution of his brainchild. Consequently, this book serves, for those who do not care to pore over the ANSI/ISO document (or the promised annotated version), as the authority on the Standard C++ language, how it works, and how you should use it. -- Al Stevens, Dr. Dobb's Journal -- Dr. Dobb's Journal --This text refers to an out of print or unavailable edition of this title.
Top customer reviews
Even though it’s the gold standard - it is a bit of a mess littered with land minds. Stroustrup is in a bit of denial about this. Multiple concrete class inheritance should be avoided like the plague, always use abstract or interface inheritance when multiple base functionality is needed.
He insist on using “universal” constructors “curly brackets” even though you will very rarely come across such code in the real world. Don’t use curly bracket constructors - use “=“ and “( )” like the rest of the world. Curly brackets are for list instantiation - no point in confusing yourself.
But as Dr Stroustrup is the actual inventor of the language - it’s hard to imagine anyone better suited to teaching it. Brutal stuff — but it pays off in the end. As you progress in your career it will be easy to find the stuff to “un-learn”.
Side note: This book attempts to get users in the habit of using C++11 assignment operators and such. This isn't necessarily a bad thing, but it should be worth noting that some compilers will not work with these examples without specifying that it is written in C++11 format. (i.e. affixing -std=c++11 during compilation. Some professors who teach out of other C++ books may mark you wrong for using ++11 or even ++14 conventions.)
I would recommend this book to anyone wishing to really delve deep into C++ and produce efficient, clean code. Anyone looking to get "closer to the machine", so to speak, would most likely find this book to tickle their fancy.
I really liked it's structure: there's a brief "Tour of C++" before the more detailed chapters. In this tour, you can see in a glance what C++11 offers for many programming tasks that's not present in earlier standards: variadic templates, static assertions, many concurrency primitives, a new uniform initialization syntax, initializer lists, range-for loop, new STL containers, etc.
After that, there are detailed chapters intended to cover all the details of all the language features and the STL. After seeing a lot of cool stuff in the tour, you are motivated enough to go through the detailed descriptions of everything written by the C++ creator himself.
But pay attention to the title: the book is about "The C++ Programming Language". It's not intended to instruct you about:
- How to program;
- How to write efficient, readable and/or modularized code using C++;
- How to use concurrency to enhance the performance of algorithms;
- How to design APIs (although the STL is a good example in many situations);
- What are the best tools (compiler, VCSs, build systems, IDEs, libraries) to develop C++ programs.
It's rather a hitchhiker's guide to C++.