Skip to main content

TC++PL4

Part I: Introductory Material

  1. Notes to the Reader

  2. A Tour of C++: The Basics

    The Basics describes C++'s model of memory, computation, and error handling.

    1. The Basics

      Hello, World!; Types, Variables, and Arithmetic; Constants; Tests and Loops; Pointers, Arrays, and Loops

    2. User-Defined Types

      Structures; Classes; Enumerations

    3. Modularity

      Separate Compilation; Namespaces; Error Handling

  3. A Tour of C++: Abstraction Mechanisms

    Abstraction Mechanisms presents the language features supporting data abstraction, object-oriented programming, and generic programming.

    1. Classes

      Concrete Types; Abstract Types; Virtual Functions; Class Hierarchies

    2. Copy and Move

      Copying Containers; Moving Containers; Resource Management; Suppressing Operations

    3. Templates

      Parameterized Types; Function Templates; Function Objects; Variadic Templates; Aliases

  4. A Tour of C++: Containers and Algorithms

    Containers and Algorithms introduces strings, simple I/O, containers, and algorithms as provided by the standard library.

    1. Libraries

      Standard-Library Overview; The Standard-Library Headers and Namespace

    2. Strings

    3. Stream I/O

      Output; Input; I/O of User-Defined Types

    4. Containers

      vector; list; map; unordered_map; Container Overview

    5. Algorithms

      Use of Iterators; Iterator Types; Stream Iterators; Predicates; Algorithm Overview; Container Algorithms

  5. A Tour of C++: Concurrency and Utilities

    Concurrency and Utilities outlines the standard-library utilities related to resource management, concurrency, mathematical computation, regular expressions, and more.

    1. Introduction

    2. Resource Management

      unique_ptr and shared_ptr

    3. Concurrency

      Tasks and threads; Passing Arguments; Returning Results; Sharing Data; Communicating Tasks

    4. Small Utility Components

      Time; Type Functions; pair and tuple

    5. Regular Expressions

    6. Math

    Mathematical Functions and Algorithms; Complex Numbers; Random Numbers; Vector Arithmetic; Numeric Limits

Part II: Basic Facilities

  1. Types and Declarations

    Fundamental types, naming, scopes, initialization, simple type deduction, object lifetimes, and type aliases

  2. Pointers, Arrays, and References

  3. Structures, Unions, and Enumerations

  4. Statements

  5. Expressions

  6. Select Operations

  7. Functions

  8. Exception Handling

  9. Namespaces

  10. Source Files and Programs

Part III: Abstraction Mechanisms

  1. Classes
  2. Construction, Cleanup, Copy, and Move
  3. Overloading
  4. Special Operators
  5. Derived Classes
  6. Class Hierarchies
  7. Run-Time Type Information
  8. Templates
  9. Generic Programming
  10. Specialization
  11. Instantiation
  12. Templates and Hierarchies
  13. Metaprogramming
  14. A Matrix Design

Part IV: The Standard Library

  1. Standard Library Summary
  2. STLContainers
  3. STLAlgorithms
  4. STLIterators
  5. Memory and Resources
  6. Utilities
  7. Strings
  8. Regular Expressions
  9. I/OStreams
  10. Locales
  11. Numerics
  12. Concurrency
  13. Threads and Tasks
  14. The C Standard Library
  15. Compatibility