The C++ Programming Language
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.
- Hardback | 1368 pages
- 187.96 x 233.68 x 50.8mm | 1,905.08g
- 31 Oct 2013
- Pearson Education (US)
- Addison-Wesley Educational Publishers Inc
- New Jersey, United States
- 4th edition
About Bjarne Stroustrup
Bjarne Stroustrup (www.stroustrup.com) 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++.
Table of contents
Preface to the Fourth Edition vPreface to the Third Edition ixPreface to the Second Edition xiPreface to the First Edition xii Part I: Introductory Material 1Chapter 1: Notes to the Reader 3Chapter 2: A Tour of C++: The Basics 37Chapter 3: A Tour of C++: Abstraction Mechanisms 59Chapter 4: A Tour of C++: Containers and Algorithms 87Chapter 5: A Tour of C++: Concurrency and Utilities 111 Part II: Basic Facilities 133 Chapter 6: Types and Declarations 135Chapter 7: Pointers, Arrays, and References 171Chapter 8: Structures, Unions, and Enumerations 201Chapter 9: Statements 225Chapter 10: Expressions 241Chapter 11: Select Operations 273Chapter 12: Functions 305Chapter 13: Exception Handling 343Chapter 14: Namespaces 389Chapter 15: Source Files and Programs 419 Part III: Abstraction Mechanisms 447Chapter 16: Classes 449Chapter 17: Construction, Cleanup, Copy, and Move 481Chapter 18: Overloading 527Chapter 19: Special Operators 549Chapter 20: Derived Classes 577Chapter 21: Class Hierarchies 613Chapter 22: Run-Time Type Information 641Chapter 23: Templates 665Chapter 24: Generic Programming 699Chapter 25: Specialization 721Chapter 26: Instantiation 741Chapter 27: Templates and Hierarchies 759Chapter 28: Metaprogramming 779Chapter 29: A Matrix Design 827 Part IV: The Standard Library 857Chapter 30: Standard Library Summary 859Chapter 31: STL Containers 885Chapter 32: STL Algorithms 927Chapter 33: STL Iterators 953Chapter 34: Memory and Resources 973Chapter 35: Utilities 1009Chapter 36: Strings 1033Chapter 37: Regular Expressions 1051Chapter 38: I/O Streams 1073Chapter 39: Locales 1109Chapter 40: Numerics 1159Chapter 41: Concurrency 1191Chapter 42: Threads and Tasks 1209Chapter 43: The C Standard Library 1253Chapter 44: Compatibility 1267 Index 1281