Always Learning

Advanced Search

C++ Programming Language (hardcover), The

C++ Programming Language (hardcover), The

4th Edition

Bjarne Stroustrup

Aug 2013, Hardback, 1368 pages
ISBN13: 9780321958327
ISBN10: 0321958322
Special online offer - Save 30%
Was 63.59, Now 44.51Save: 19.08
This title is available in the following formats:
Format RRPYour Price
Hardback £63.59 £44.51
CourseSmart eTextbook £40.00 £28.00
  • Print pagePrint page
  • Email this pageEmail page
  • Share

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.

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

  • Exercises are available at the author's web site for the book,
  • 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
  • New C++11 includes support for concurrency, regular expressions, general and uniform initialization, lambdas, compatibility issues, and much more
  • This book features an enhanced, layflat binding, which allows the book to stay open more easily when placed on flat surface and increases durability
  • This book is also available in paperback. The ISBN for the paperback is 9780321563842..

Bjarne Stroustrup ( is the designer and original implementer of C++, as well as the author of Programming: Principles and Practice Using C++" (Addison-Wesley, 2009), The C++ Programming Language (Addison-Wesley, 1985, 1991, 1997, 2000), and many popular and academic publications. Dr. Stroustrup is a University Distinguished Professor at Texas A&M University and the holder of the College of Engineering Chair in Computer Science. He is a member of the U.S. National Academy of Engineering, an IEEE Fellow, and an ACM fellow. His research interests include distributed systems, design, programming techniques, software development tools, and programming languages. He is actively involved in the ISO standardization of C++.