This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.
PDF The popular standard, used most often with the free Adobe® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Also available in other formats.
Register your product to gain access to bonus material or receive a coupon.
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
Topics addressed in this comprehensive book include
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 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.
Preface to the Fourth Edition v
Preface to the Third Edition ix
Preface to the Second Edition xi
Preface to the First Edition xii
Part I: Introductory Material 1
Chapter 1: Notes to the Reader 3
Chapter 2: A Tour of C++: The Basics 37
Chapter 3: A Tour of C++: Abstraction Mechanisms 59
Chapter 4: A Tour of C++: Containers and Algorithms 87
Chapter 5: A Tour of C++: Concurrency and Utilities 111
Part II: Basic Facilities 133
Chapter 6: Types and Declarations 135
Chapter 7: Pointers, Arrays, and References 171
Chapter 8: Structures, Unions, and Enumerations 201
Chapter 9: Statements 225
Chapter 10: Expressions 241
Chapter 11: Select Operations 273
Chapter 12: Functions 305
Chapter 13: Exception Handling 343
Chapter 14: Namespaces 389
Chapter 15: Source Files and Programs 419
Part III: Abstraction Mechanisms 447
Chapter 16: Classes 449
Chapter 17: Construction, Cleanup, Copy, and Move 481
Chapter 18: Overloading 527
Chapter 19: Special Operators 549
Chapter 20: Derived Classes 577
Chapter 21: Class Hierarchies 613
Chapter 22: Run-Time Type Information 641
Chapter 23: Templates 665
Chapter 24: Generic Programming 699
Chapter 25: Specialization 721
Chapter 26: Instantiation 741
Chapter 27: Templates and Hierarchies 759
Chapter 28: Metaprogramming 779
Chapter 29: A Matrix Design 827
Part IV: The Standard Library 857
Chapter 30: Standard Library Summary 859
Chapter 31: STL Containers 885
Chapter 32: STL Algorithms 927
Chapter 33: STL Iterators 953
Chapter 34: Memory and Resources 973
Chapter 35: Utilities 1009
Chapter 36: Strings 1033
Chapter 37: Regular Expressions 1051
Chapter 38: I/O Streams 1073
Chapter 39: Locales 1109
Chapter 40: Numerics 1159
Chapter 41: Concurrency 1191
Chapter 42: Threads and Tasks 1209
Chapter 43: The C Standard Library 1253
Chapter 44: Compatibility 1267
We've made every effort to ensure the accuracy of this book and its companion content. Any errors that have been confirmed since this book was published can be downloaded below.
Download the errata (45 KB .doc)