

The new C++11 standard allows programmers to express ideas more clearly, simply, and directly, and to write faster, more efficient code. Bjarne Stroustrup, the designer and original implementer of C++, has reorganized, extended, and completely rewritten his definitive reference and tutorial for programmers who want to use C++ most effectively. The C++ Programming Language, Fourth Edition, delivers meticulous, richly explained, and integrated coverage of the entire language―its facilities, abstraction mechanisms, standard libraries, and key design techniques. Throughout, Stroustrup presents concise, “pure C++11” examples, which have been carefully crafted to clarify both usage and program design. To promote deeper understanding, the author provides extensive cross-references, both within the book and to the ISO standard. New C++11 coverage includes Support for concurrency Regular expressions, resource management pointers, random numbers, and improved containers General and uniform initialization, simplified for-statements, move semantics, and Unicode support Lambdas, general constant expressions, control over class defaults, variadic templates, template aliases, and user-defined literals Compatibility issues Topics addressed in this comprehensive book include Basic facilities: type, object, scope, storage, computation fundamentals, and more Modularity, as supported by namespaces, source files, and exception handling C++ abstraction, including classes, class hierarchies, and templates in support of a synthesis of traditional programming, object-oriented programming, and generic programming Standard Library: containers, algorithms, iterators, utilities, strings, stream I/O, locales, numerics, and more The C++ basic memory model, in depth This fourth edition makes C++11 thoroughly accessible to programmers moving from C++98 or other languages, while introducing insights and techniques that even cutting-edge C++11 programmers will find indispensable. This is a hardcover version of the Fourth Edition. Content in this hardcover and the paperback version is identical. This book features an enhanced, layflat binding, which allows the book to stay open more easily when placed on a flat surface. This special binding method―noticeable by a small space inside the spine―also increases durability. Review: Very good book for experienced C++ programmers - Although the structuring of the chapters is a bit chaotic and random, the language features and the reasoning behind them are laid out very well and detailed. As mentioned by others, this book is definitely not for beginners - it explains all what C++ is, just not in a very systematic and tutorial oriented manner. If you are looking just to catch up the newest C++11 and C++14 standards and nothing else, there might be better options - there are chapters devoted specifically to the new features introduced in the latest standards, but the book overall strives to present a unified, up-to-date vision of what the best coding practices in C++ are, with little historical context. There are some negative remarks in other reviews about the code coloring - surely we all like good coloring in our IDEs, but for a book I think it would be much more distracting to have multiple colors for code segments, not to mention - more expensive. Regarding the bookbinding quality - whatever issues were present, they were likely solved, because my hardcover edition feels really sturdy and well put. I also like the paper - thin, semi-glossy, which enables this 1350 page book to be rather compact for the content inside. Review: Excellent Throughout. - I found even as an experienced developer, and C++ user, whenever a new language standard definition is released it takes a long time to bring ones way of thinking around to leverage the new language features to their best effect. That is until with C++11 and reading this tome, every little detail of the language is covered, allowing one to convert from old styles and patterns to new technology and new ways of thinking easily. Turning every other page one could find someone new to learn, for the seasoned of beginner, so long as you know how to use a C++ compiler going through this tome and some of it's examples is a real insight into not just how the language now stands, but how it has evolved. Coming straight from Bjarne too one finds reading the text almost akin to talking to him in person, he explains so clearly and concisely what he is aiming to do, never over stepping the bounds of the current chapter of section, but always referring you onto other topics. If you're an absolute beginner, or have never programmed in C++ before, this book is perhaps not for you, check out "A Tour of C++" which is a much more accessible companion to this book and also by Bjarne. Once you're happy with the Tour, then it is time for this, the main event, book to enter your development career. Excellent throughout.






























| Best Sellers Rank | 768,138 in Books ( See Top 100 in Books ) 263 in Programming Languages & Tools 470 in Introduction to Programming 8,164 in Engineering & Technology |
| Customer Reviews | 4.6 out of 5 stars 1,221 Reviews |
B**V
Very good book for experienced C++ programmers
Although the structuring of the chapters is a bit chaotic and random, the language features and the reasoning behind them are laid out very well and detailed. As mentioned by others, this book is definitely not for beginners - it explains all what C++ is, just not in a very systematic and tutorial oriented manner. If you are looking just to catch up the newest C++11 and C++14 standards and nothing else, there might be better options - there are chapters devoted specifically to the new features introduced in the latest standards, but the book overall strives to present a unified, up-to-date vision of what the best coding practices in C++ are, with little historical context. There are some negative remarks in other reviews about the code coloring - surely we all like good coloring in our IDEs, but for a book I think it would be much more distracting to have multiple colors for code segments, not to mention - more expensive. Regarding the bookbinding quality - whatever issues were present, they were likely solved, because my hardcover edition feels really sturdy and well put. I also like the paper - thin, semi-glossy, which enables this 1350 page book to be rather compact for the content inside.
J**D
Excellent Throughout.
I found even as an experienced developer, and C++ user, whenever a new language standard definition is released it takes a long time to bring ones way of thinking around to leverage the new language features to their best effect. That is until with C++11 and reading this tome, every little detail of the language is covered, allowing one to convert from old styles and patterns to new technology and new ways of thinking easily. Turning every other page one could find someone new to learn, for the seasoned of beginner, so long as you know how to use a C++ compiler going through this tome and some of it's examples is a real insight into not just how the language now stands, but how it has evolved. Coming straight from Bjarne too one finds reading the text almost akin to talking to him in person, he explains so clearly and concisely what he is aiming to do, never over stepping the bounds of the current chapter of section, but always referring you onto other topics. If you're an absolute beginner, or have never programmed in C++ before, this book is perhaps not for you, check out "A Tour of C++" which is a much more accessible companion to this book and also by Bjarne. Once you're happy with the Tour, then it is time for this, the main event, book to enter your development career. Excellent throughout.
F**.
The only one thing I can say that's bad about it is the paper is very thin and ...
I keep coming back to this book all the time! The only one thing I can say that's bad about it is the paper is very thin and doesn't like to be written in or used with a highlighter; I've had to resort to sticky notes throughout the book to mark my own points of interest. As all the other reviews have said, it's not the best book for a beginner, nor is it a reference to the language, but it covers all the core components that is easy to read and understand for an intermediate programmer.
N**Y
Another Great Book From Bjarne
My good reviews usually seem to be rather "me too!" but this book seems to have received some unwarranted poor reviews. Bjarne *can* write, he writes entertainingly about what could have been a rather dry technical subject. This shouldn't need to said but "programming languages are inherently recursive". Parts are defined in terms of other parts so it's difficult to know where to start. One solution is to do an overview of the language followed by detailed exploration of the individual features. So yes you do encounter things early on that aren't initially explained; they get explained later. Follow the references (did I mention it's wonderfully well referenced?) if it bothers you. So is it a tutorial or a reference? Yes. The real star is, of course, C++11 the new(-ish) C++ standard. I tend to look at new standards for my favourite programming languages with a rather jaundiced eye (for instance C99 or R6RS Scheme) but much of C++11 is quite delightful. New algorithms, proper enums (what were K&R thinking?!), theads, lambdas etc. etc. Buy this book.
S**E
Brilliant Book
Bjarne Stroustrup is a brilliant author who explains accurately and concisely features of C++ other books just won't consider. C++ is powerful but not a very 'symmetric' language. Because of this, when you scratch below the atypical programming surface, you run into gotchas. This book clearly explains what can and cannot be done with the language. I think its very refreshing to have such a knowledgable book.
A**.
Certainly not for beginners.
This book goes into good depth about c++ and although it is fairly old compared to the new standards, it gives you a different narative that truly explains why things are as they are in c++ so if youve worked with c++ for a modest amount of time and plan to understand the language more then this book will do that for you. Pages are thin as people have stated but print quality is fine and if the paper was any thicker then the book would be thicker than a dictionary.
R**H
Still the undisputed authority
When I was teaching myself C++ many many years ago, this was the book I used. Now that I find myself updating my knowledge to include the myriad of changes that have become enshrined into C++11, this is the book I return to, albeit the 4th edition to my ancient 2nd edition. Learning any computer language thoroughly requires wading through a lot of detail. If you only want to learn the gist of a language, buy another book. The book is enormous, which is good, because it is organised in a way that introduces the language in layers. Most novice programmers will probably leave the standard library reference material in the latter half of the book until they need to look something up. Is it a book for novice programmers? It depends. It is not a book for someone that is learning to program, but for programmers wishing to learn C++, it is the undisputed authority.
M**N
Well written, well made and clear examples.
The hard back version is very well made, the text is very clear and well written. There are lots of code examples throughout the book. The first part of the book is suitable for learning the basics of the c++ language, so a beginner could learn from this book with a little research on the side to elaborate on the topics. I would highly recommend!
S**M
Narrow design, impossible reading.
I bought the Hardcover version from Amazon Germany, but the dimensions are different from the original, it is narrower and the margins on the pages are insufficient, especially the inside area is impossible to read, so I am returning it. This is all I wrote about the physical deficiencies of the product, I think it is a good book as a source of information.
P**M
Buch sehr gut, aber Kindle Umsetzung schlecht
Das Buch gibt einen tollen Überblick und ist eine sehr gute Referenz. Von der Kindle-Version kann ich nur abraten. Die Programmbeispiele sind unleserlich, da einige Zeichen übereinander dargestellt sind und unnötige Leerzeichen enthalten sind. Das Buch hätte 5 Sterne verdient. Durch die schlechte Kindle-Unsetzung gibt es nur 3 Sterne.
A**R
the C++ std libs might offer far better design and speed
Bjarne Stroustrup has this intuitive, no-nonsense way of explaining things. He keeps emphasizing the philosophy of working with the C++ language to achieve performance, and I think this is a valid philosophy indeed! Truly, it makes sense. I myself have been guilty of using low-level C mechanisms to 'extract higher performance'. Hard though it might be to accept to several people, the C++ std libs might offer far better design and speed! The prose is straightforward, and the examples are no-frills code segments that directly get to the point. Excellent book!
B**G
Complete, but not for the beginner
The first chapter gives an extremely useful overview of C++11, the latest C++ standard. The rest of the book is more of a complete reference that fills in details of the standard, the motivations for the choices made, and the author's opinions about those choices, favorable or not. Stroustrup, as the original creator of the language, is uniquely placed to go into details. Many programmers like myself will only rarely need to go into great depth on any topic, but it is comforting to know that the answers are at hand in this book. One noteworthy fact is the extreme care taken in preparation of the text: In going through the whole book, admittedly skimming plenty of details, I found fewer than a dozen errors, some of them just nit-picking. This book is not intended as a primer to show beginners how to program in C++. It does deserve to be on the bookshelf of anyone aspiring to in-depth knowledge of C++.
A**R
C++プログラマー、学習者は持っておくと良い
英語もシンプルでわかりやすい。全部を読む必要はなく、自分の興味のある箇所だけ読むと良い。 Kindle版だと、ソースコードのみ読みことも可能で、それだけでもC++の理解が深まる。
Trustpilot
1 month ago
2 months ago