C++ Primer – Stanley B. Lippman, Josée Lajoie, Barbara E. Moo – 5th Edition

Description

Fully updated and recast for the newly released C++11 standard, this authoritative and comprehensive introduction to 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.

Primer, Fifth Edition, introduces the C++ standard library from the outset, drawing on its common and facilities to help you write useful programs without first having to master every language detail. The ’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 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 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 aids and exercises that emphasize key points, help you to avoid pitfalls, promote good practices, and reinforce what you’ve learned.

View more
  • 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
  • Citation

Leave us a commentNo Comments


guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x