C++ Primer

C++ Primer

Paperback

By (author) Stanley B. Lippman, By (author) Josee Lajoie, By (author) Barbara E. Moo

$41.94
List price $64.03
You save $22.09 34% off

Free delivery worldwide
Available
Dispatched in 2 business days
When will my order arrive?

  • Publisher: Addison-Wesley Educational Publishers Inc
  • Format: Paperback | 976 pages
  • Dimensions: 178mm x 231mm x 53mm | 1,497g
  • Publication date: 16 August 2012
  • Publication City/Country: New Jersey
  • ISBN 10: 0321714113
  • ISBN 13: 9780321714114
  • Edition: 5, Revised
  • Edition statement: 5th Revised edition
  • Sales rank: 20,730

Product description

Bestselling Programming Tutorial and Reference Completely Rewritten for the New C++11 Standard Fully updated and recast for the newly released C++11 standard, this authoritative and comprehensive introduction to C++ will help you to learn the language fast, and to use it in modern, highly effective ways. Highlighting today's best practices, the authors show how to use both the core language and its standard library to write efficient, readable, and powerful code. C++ Primer, Fifth Edition, introduces the C++ standard library from the outset, drawing on its common functions and facilities to help you write useful programs without first having to master every language detail. The book's many examples have been revised to use the new language features and demonstrate how to make the best use of them. This book is a proven tutorial for those new to C++, an authoritative discussion of core C++ concepts and techniques, and a valuable resource for experienced programmers, especially those eager to see C++11 enhancements illuminated. Start Fast and Achieve More * Learn how to use the new C++11 language features and the standard library to build robust programs quickly, and get comfortable with high-level programming * Learn through examples that illuminate today's best coding styles and program design techniques * Understand the "rationale behind the rules": why C++11 works as it does * Use the extensive crossreferences to help you connect related concepts and insights * Benefit from up-to-date learning aids and exercises that emphasize key points, help you to avoid pitfalls, promote good practices, and reinforce what you've learned Access the source code for the extended examples from informit.com/title/0321714113 C++ Primer, Fifth Edition, features an enhanced, layflat binding, which allows the book to stay open more easily when placed on a flat surface. This special binding method-notable by a small space inside the spine-also increases durability.

Other people who viewed this bought:

Showing items 1 to 10 of 10

Other books in this category

Showing items 1 to 11 of 11
Categories:

Author information

Stanley B. Lippman has retired back to the Catalina Foothills where he is working on EEEK!, a computational model of the nervous system of the House Mouse, and An Off By One Error, a speculative novel set in the Northwestern Rain Forest. During his professional career, Stanley served as Distinguished Consultant for the Jet Propulsion Laboratory, Architect for the Visual C++ development group at Microsoft, member of technical staff at Bell Laboratories, two stints in Massive Multiplayer Online Gaming, and a surprisingly long stint in Feature Animation at Disney, DreamWorks, Pixar, and PDI. Stanley will be most remembered for his many years working with Dr. Stroustrup on the implementation of cfront, the standard implementation of C++ until the ISO standard. Josee Lajoie, now at Pixar, was a member of IBM Canada's C/C++ compiler development team, and chaired the core language working group for the original ANSI/ISO C++ standardization committee. Barbara E. Moo has nearly thirty years of software experience. During her fifteen years at AT&T, she worked closely with C++ inventor Bjarne Stroustrup and managed the C++ development team for several years.

Table of contents

Preface xxiii Chapter 1: Getting Started 1 1.1 Writing a Simple C++ Program 2 1.2 A First Look at Input/Output 5 1.3 A Word About Comments 9 1.4 Flow of Control 11 1.5 Introducing Classes 19 1.6 The Bookstore Program 24 Chapter Summary 26 Defined Terms 26 Part I: The Basics 29 Chapter 2: Variables and Basic Types 31 2.1 Primitive Built-in Types 32 2.2 Variables 41 2.3 Compound Types 50 2.4 const Qualifier 59 2.5 Dealing with Types 67 2.6 Defining Our Own Data Structures 72 Chapter Summary 78 Defined Terms 78 Chapter 3: Strings, Vectors, and Arrays 81 3.1 Namespace using Declarations 82 3.2 Library string Type 84 3.3 Library vector Type 96 3.4 Introducing Iterators 106 3.5 Arrays 113 3.6 Multidimensional Arrays 125 Chapter Summary 131 Defined Terms 131 Chapter 4: Expressions 133 4.1 Fundamentals 134 4.2 Arithmetic Operators 139 4.3 Logical and Relational Operators 141 4.4 Assignment Operators 144 4.5 Increment and Decrement Operators 147 4.6 The Member Access Operators 150 4.7 The Conditional Operator 151 4.8 The Bitwise Operators 152 4.9 The sizeof Operator 156 4.10 Comma Operator 157 4.11 Type Conversions 159 4.12 Operator Precedence Table 166 Chapter Summary 168 Defined Terms 168 Chapter 5: Statements 171 5.1 Simple Statements 172 5.2 Statement Scope 174 5.3 Conditional Statements 174 5.4 Iterative Statements 183 5.5 Jump Statements 190 5.6 try Blocks and Exception Handling 193 Chapter Summary 199 Defined Terms 199 Chapter 6: Functions 201 6.1 Function Basics 202 6.2 Argument Passing 208 6.3 Return Types and the return Statement 222 6.4 Overloaded Functions 230 6.5 Features for Specialized Uses 236 6.6 Function Matching 242 6.7 Pointers to Functions 247 Chapter Summary 251 Defined Terms 251 Chapter 7: Classes 253 7.1 Defining Abstract Data Types 254 7.2 Access Control and Encapsulation 268 7.3 Additional Class Features 271 7.4 Class Scope 282 7.5 Constructors Revisited 288 7.6 static Class Members 300 Chapter Summary 305 Defined Terms 305 Part II: The C++ Library 307 Chapter 8: The IO Library 309 8.1 The IO Classes 310 8.2 File Input and Output 316 8.3 string Streams 321 Chapter Summary 324 Defined Terms 324 Chapter 9: Sequential Containers 325 9.1 Overview of the Sequential Containers 326 9.2 Container Library Overview 328 9.3 Sequential Container Operations 341 9.4 How a vector Grows 355 9.5 Additional string Operations 360 9.6 Container Adaptors 368 Chapter Summary 372 Defined Terms 372 Chapter 10: Generic Algorithms 375 10.1 Overview 376 10.2 A First Look at the Algorithms 378 10.3 Customizing Operations 385 10.4 Revisiting Iterators 401 10.5 Structure of Generic Algorithms 410 10.6 Container-Specific Algorithms 415 Chapter Summary 417 Defined Terms 417 Chapter 11: Associative Containers 419 11.1 Using an Associative Container 420 11.2 Overview of the Associative Containers 423 11.3 Operations on Associative Containers 428 11.4 The Unordered Containers 443 Chapter Summary 447 Defined Terms 447 Chapter 12: Dynamic Memory 449 12.1 Dynamic Memory and Smart Pointers 450 12.2 Dynamic Arrays 476 12.3 Using the Library: A Text-Query Program 484 Chapter Summary 491 Defined Terms 491 Part III: Tools for Class Authors 493 Chapter 13: Copy Control 495 13.1 Copy, Assign, and Destroy 496 13.2 Copy Control and Resource Management 510 13.3 Swap 516 13.4 A Copy-Control Example 519 13.5 Classes that Manage Dynamic Memory 524 13.6 Moving Objects 531 Chapter Summary 549 Defined Terms 549 Chapter 14: Overloaded Operations and Conversions 551 14.1 Basic Concepts 552 14.2 Input and Output Operators 556 14.3 Arithmetic and Relational Operators 560 14.4 Assignment Operators 563 14.5 Subscript Operator 564 14.6 Increment and Decrement Operators 566 14.7 Member Access Operators 569 14.8 Function-Call Operator 571 14.9 Overloading, Conversions, and Operators 579 Chapter Summary 590 Defined Terms 590 Chapter 15: Object-Oriented Programming 591 15.1 OOP: An Overview 592 15.2 Defining Base and Derived Classes 594 15.3 Virtual Functions 603 15.4 Abstract Base Classes 608 15.5 Access Control and Inheritance 511 15.6 Class Scope under Inheritance 617 15.7 Constructors and Copy Control 622 15.8 Containers and Inheritance 630 15.9 Text Queries Revisited 634 Chapter Summary 649 Defined Terms 649 Chapter 16: Templates and Generic Programming 651 16.1 Defining a Template 652 16.2 Template Argument Deduction 678 16.3 Overloading and Templates 694 16.4 Variadic Templates 699 16.5 Template Specializations 706 Chapter Summary 713 Defined Terms 713 Part IV: Advanced Topics 715 Chapter 17: Specialized Library Facilities 717 17.1 The tuple Type 718 17.2 The bitset Type 723 17.3 Regular Expressions 728 17.4 Random Numbers 745 17.5 The IO Library Revisited 752 Chapter Summary 769 Defined Terms 769 Chapter 18: Tools for Large Programs 771 18.1 Exception Handling 772 18.2 Namespaces 785 18.3 Multiple and Virtual Inheritance 802 Chapter Summary 816 Defined Terms 816 Chapter 19: Specialized Tools and Techniques 819 19.1 Controlling Memory Allocation 820 19.2 Run-Time Type Identification 825 19.3 Enumerations 832 19.4 Pointer to Class Member 835 19.5 Nested Classes 843 19.6 Union: A Space-Saving Class 847 19.7 Local Classes 852 19.8 Inherently Nonportable Features 854 Chapter Summary 862 Defined Terms 862 Appendix A: The Library 865 A.1 Library Names and Headers 866 A.2 A Brief Tour of the Algorithms 870 A.3 Random Numbers 882 Index 887