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.
Les mer
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
Les mer
Exercises are available at the author's web site for the book, http://www.stroustrup.com/4th.html. 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 hardcover. The ISBN for the hardcover is 9780321958327.
Les mer
Fully re-written for the C++11 standard 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 
Les mer

Produktdetaljer

ISBN
9780321563842
Publisert
2013-05-30
Utgave
4. utgave
Utgiver
Vendor
Addison-Wesley Educational Publishers Inc
Vekt
2080 gr
Høyde
230 mm
Bredde
188 mm
Dybde
50 mm
Aldersnivå
P, U, 06, 05
Språk
Product language
Engelsk
Format
Product format
Heftet
Antall sider
1376

Forfatter

Biographical note

Bjarne Stroustrup is the designer and original implementer of C++ and the author of Programming: Principles and Practice Using C++, 2nd Edition and The C++ Programming Language, among others. Having previously worked at Bell Labs, AT&T Labs - Research, and Texas A&M University, he is currently Managing Director in the technology division of Morgan Stanley in New York City. The recipient of numerous honors, including The National Academy of Engineering 2018 Charles Stark Draper Prize for Engineering “for conceptualizing and developing the C++ programming language, Dr. Stroustrup is a member of the National Academy of Engineering, an AT&T Fellow, an AT&T Bell Laboratories Fellow, an IEEE Fellow, and an ACM Fellow. He was voted into Electronic Design's Engineering Hall of Fame in 2013. His research interests include distributed systems, simulation, design, programming techniques, software development tools, and programming languages, and he remains actively involved in the ANSI/ISO standardization of C++. Dr. Stroustrup holds an advanced degree from the University of Aarhus in his native Denmark and a Ph.D. in Computer Science from Cambridge University, England.