Product Cover Image

C++ Programming Language, The, 4th Edition

By Bjarne Stroustrup

Published by Addison-Wesley Professional

Published Date: Jul 9, 2013


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 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.

Table of Contents

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


Index 1281


Add to CartC++ Programming Language, The, 4th Edition

$63.99 | ISBN-13: 978-0-13-352290-7

Includes EPUB, MOBI, and PDF