» » The C++ Programming Language (3rd Edition)

The C++ Programming Language (3rd Edition) download epub

by Bjarne Stroustrup

Epub Book: 1603 kb. | Fb2 Book: 1859 kb.

pages cm Includes bibliographical references and index. C153 S77 2013 00. 3’3-dc23.

3rd. ed. p. cm. Includes index. This evolution has been guided by the experience of users of widely varying backgrounds working in a great range of application areas. Published by Addison Wesley Longman, Inc. ISBN 0-201-88954-4.

Addison-Wesley, Reading, MA. 1991. Margaret A. Ellis and Bjarne Stroustrup: The Annotated C++ Reference Manual. Addison-Wesley, Reading, MA. 1990. It completely describes the C++ standard (ISO/IEC 14882) from the perspective of a programmer.

Published by. John Wiley & Sons, Inc. 111.

17 MB·37,323 Downloads. Part I: Getting Started with Excel VBA Programming 9 Part II: How VBA Works with Excel Excel® VBA Programm. C in Depth - Jon Skeet. 59 MB·17,358 Downloads. Published by. 57 MB·86,931 Downloads.

AT&T Labs Murray Hill, New Jersey. 3rd.

I had expected a tutorial approach as elegant as the classic K&R white book.

Published by Addison Wesley Longman, Inc.

The C++ Programming Language, Third Edition Bjarne Stroustrup Preface 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 justfun. 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. Acknowledgements 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 Bruck, 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. Bjarne Stroustrup Murray Hill, New Jersey *At the time of writing, the C++ Standard is still only a "Final Committee Draft Standard." However, no significant changes to the language or the standard library are anticipated. 0201889544P04062001

Comments: (7)

This is a nice reference book on C++.
If I were new to C++, I would not start learning C++ with this book. Rather, I would use these below three steps and the relevant books in this order:

1. Accelerated C++ by Andrew Koenig & Barbara Moo -- Read and practice example code and exercises from this book first.

2. Programming: Principles and Practice Using C++ (2nd Edition) by Bjarne Stroustrup -- Chapters 5,6, and 7 are gems in this book. You can in fact use this book in parallel with the Accelerated C++ book and

3. (a) The C++ Programming Language (4th Edition) by Bjarne Stroustrup, -- Definite reference book to have.
3. (b) The C++ Standard Library: A Tutorial and Reference (2nd Edition) by Nicolai M. Josuttis, -- Clear examples and very methodical
3. (c) C++ Templates: The Complete Guide by David Vandevoorde -- What can I say! This is simply a classic.

C++ is not a race. It is a marathon. So, enjoy learning and also make use of many many C++ resources online.
Stroupstrup is a master educator. This book communicates a lot of complex details clearly and memorably. I can only find fault with the size of the book -- the first C++ Programming Language book was, if memory serves, a much slimmer volume. That smaller book was my go-to reference back in the early 90s. C++ has grown a lot since then, but this latest version of the book is logically and seamlessly organized, mixing the old C/C++ world with the much-improved C++11 language. For those who don't have this kind of historical context to help, Stroustrup mixes in some advice on use of older language features that have been improved upon (such as raw pointers versus standard smart pointer wrappers).

If you are doing modern C++ development, you need this book. The clarity of the descriptions and the completeness of coverage of what has become a vast language (when you include all the standard library features) will save you time, and inspire you to write clear, concise, elegant code.
Once you get past the obligatory introduction, this book is pretty much broken down into three sections (there are actually four in the book, but two of them are related, IMO). The first section (Chapters 2-5) is a crash course on C++... what Mr. Stroustrup calls "a tour of C++." *IF* you are already a seasoned programmer--and I'm talking about years of structured development in a professional environment--then this first section will bring you up-to-speed with C++ in minimal time. Knowing C at the start helps, as the basic syntax, operators, statements, etc are common to both languages, but it is not a necessity. The language with which you're familiar isn't as important as having a sufficient background and experience. I personally found this first section invaluable, as it allowed me to "learn" C++ in one weekend... at least to a point where I could pass two separate C++ assessments the following week and land job interviews because of it. [I have 24 years of C experience under my belt but am brand new to C++.] However, if you don't have the necessary background before beginning, this section will get you lost real fast, and will end up discouraging you more than helping you! You have been duly warned.

The next section (Chapters 6-29) is SUPPOSED to be a structured tutorial section, starting at square one; however, it is anything but! This section assumes you have read--and more importantly, thoroughly understand--the "tour" provided in the first section. This second section, unfortunately, ends up being more "lawyer speak" on C++ than an actual tutorial (IMHO). Now granted, you need to know the rules in order to create valid C++ programs; but come on! There's got to be a better way to present the subject matter than simply throwing a bunch of obscure rules at the reader. Mr. Stroustrap divides this turtorial section into two parts, The Basics (types, pointers, functions, etc) and Abstraction Mechanisms (classes, constructors, hierarchies, templates, etc).

The final section (Chapters 30-44) examines the Standard Library. The Standard Library is just as important and integral a part of the C++ language as the language itself, akin to the C Standard Library but much more far-reaching. I remember reading somewhere (perhaps it was even this book) that the library description takes up 2/3 of the official C++ specification! The fact that the library is part of the C++ specification implies that its contents are fully supported, and hence presumably the most efficient implementations available... to a degree. [Meaning that the most efficient "general" solution is not necessarily the best solution for one's particular application.] Understanding what's available in the Standard Library and how to utilize it is obviously an important aspect of the language, and this last section is a valuable reference; but that's all it is (i.e. a reference vs a tutorial). Fortunately, several hard examples of the Standard Library are used throughout the earlier portions of the text, but it only scratches the surface.

Mr. Stroustrap created C++, so it shouldn't come as a surprise to anyone when I say that this is the definitive book on the subject. However, it is not necessarily the best book from which to learn C++. That said, I found the "crash course" in Chapters 2-5 invaluable, and I am grateful that he included it. So, in summary, if you want to start from scratch and take a traditional structured approach to learning C++, I would suggest you seek an alternative book. If you're an experienced professional who needs to come up to speed with C++ in minimal time, then Chapters 2-5 are a good way to do it; but you might want to investigate Mr. Stroustrup's other book instead, "A Tour of C++". [Note, I have not read that book and cannot comment on its contents, but I assume it's a more detailed & structured version of Chapters 2-5 in this book.] In both cases, beginner or professional, this book is THE ultimate reference source for all things C++.

Good luck in your C++ journey!
The only C++ reference that is worth considering.
If you are a C++ programmer, you need this book as a reference in order to understand the language and the intent behind some of the features (especially the new C++11).

I don't think this book is a starting point for beginners that want to learn the language. Who want to read 1000+ book when they just want to get started. I got put off by the 3rd edition when I started programming C++ and came back to it later. Use "A Tour of C++" from the same author to get the gist of the language and come back to this book once you are more experienced with the language. I also found the 4th edition to be clearer and better presented than the previous edition.

Finally, I will restate an advice I found useful from the C++ isofaq, whatever language you want to learn, there is 3 types of books you must have:
- 1 reference book to present you what is legal in the language
- 1 advice/rule book to present you what is moral in the language
- 1 example book
In my opinion the definitive C++ reference book is Bjarne book. You may not need it now but you will come back to it once you matured in the language, and when you really want to understand the feature you are using.
The C++ Programming Language (3rd Edition) download epub
Author: Bjarne Stroustrup
ISBN: 0201889544
Category: Computers & Technology
Subcategory: Programming
Language: English
Publisher: Addison-Wesley Professional; 3 edition (June 30, 1997)
Pages: 1040 pages