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++.
From Book News, Inc.
Stroustrup, creator of C++, covers standard C++ and the key programming and design techniques supported by C++, including every major language feature and the standard library. Suitable for those new to the language while adding advanced information and techniques for the more advanced programmers, this hardcover edition includes two new appendixes on locales and standard library exception safety.Book News, Inc.®, Portland, OR
The C++ Programming Language: Special Edition ANNOTATION
The most popular book ever written on C++ is back and updated. Straight from the creator himself, this book includes all the changes and innovations in the latest draft standard of C++. With concrete examples and a straightforward teaching style, the author makes it easy for you to transition into the world of C++. You should be familiar with basic programming concepts before you tackle this comprehensive tour.
FROM THE PUBLISHER
This is a complete rewrite of the most widely read and most trusted book on C++. Based on the ANSI/ISO C++ final draft, this book covers the C++ language, its standard library, and key design techniques as an integrated whole. The C++ Programming Language provides comprehensive coverage of C++ language features and standard library components. With this third edition, Stroustrup makes C++ even more accessible to those new to the language while adding information and techniques that even expert C++ programmers will find invaluable.
FROM THE CRITICS
Victor J. Duvanenko
There is absolutely no doubt that Bjarne Stroustrup's The C++ Programming Language, Third Edition is a must-have book. If you are programming in C++, you will refer to it every other day. If you are learning C++, you need to dedicate time to read one chapter a week. This third edition is much more approachable than its predecessors and has gems of insight sprinkled throughout. Furthermore, it includes a good introduction to Standard Template Libraries (STL) and describes the various new C++ features...the book is very well done, and we thank Bjarne Stroustrup for his tireless effort for over a decade to improve the lives of programmers.
Dr. Dobb's Electronic Review of Computer Books
Booknews
The inventor of the C++ language explains the language, its standard
library, and key design techniques, for both novice and experienced
C++ programmers. C++ is presented independent of any particular
implementation, and tutorial chapters present language constructs and
concepts in a bottom up order. Includes chapter exercises and lists
of tips. Layout is dense, not reader friendly. This third edition
reflects the evolution of C++, and contains more material for novices.
Annotation c. by Book News, Inc., Portland, Or.
Booknews
Stroustrup, creator of C++, covers standard C++ and the key programming and design techniques supported by C++, including every major language feature and the standard library. Suitable for those new to the language while adding advanced information and techniques for the more advanced programmers, this hardcover edition includes two new appendixes on locales and standard library exception safety. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Victor J. Duvanenko
The Gospel According to Bjarne
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.
The book includes many code examples. There is no diskette or CD-ROM, because Stroustrup avoids a teaching approach wherein readers compile and run examples. His examples are mostly code fragments that demonstrate the points he makes and the issues he addresses. The code fragments are readable, meaningful, and neither frivolous nor cute, and since you do not compile them, you need not worry that your compiler does not fully support Standard C++. There are four parts to the body of the book: "Part I: Basic Facilities;" "Part II: Abstract Mechanisms;" "Part III: The Standard Library;" and "Part IV: Design Using C++." Even if you are already a seasoned C++ programmer, Part IV, which is a rewrite of several chapters from the second edition, is worth the price of the book. It describes Stroustrup's philosophies on the design and development cycle of a
software project involving C++. In his words, Part IV aims "to bridge the gap between would-be language-independent design and programming that is myopically focused on details."
The three appendixes are: "A: The C++ Grammar;" "B: Compatibility;" and "C: Technicalities." Appendix B discusses the differences between C and C++ and explains how the languages have become more compatible over time. Some of
this convergence results from changes being made to the C specification (double-slash comments and no implicit int, for example). The appendix also discusses the issues related to porting C++ code from older C++ implementations, advising that, where possible, you should use the latest
implementation of a compiler so that newer features are available to you.
Appendix C is about technical details that a programmer faces that are not necessarily language issues. I particularly like the discussion on the problems associated with traditional multidimensioned arrays as compared to using STL containers to achieve the same result without the headaches.
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.--Dr. Dobb's Electronic Review of Computer Books