TC++PL4
Part I: Introductory Material
-
Notes to the Reader
-
A Tour of C++: The Basics
The Basics describes C++'s model of memory, computation, and error handling.
-
The Basics
Hello, World!; Types, Variables, and Arithmetic; Constants; Tests and Loops; Pointers, Arrays, and Loops
-
User-Defined Types
Structures; Classes; Enumerations
-
Modularity
Separate Compilation; Namespaces; Error Handling
-
-
A Tour of C++: Abstraction Mechanisms
Abstraction Mechanisms presents the language features supporting data abstraction, object-oriented programming, and generic programming.
-
Classes
Concrete Types; Abstract Types; Virtual Functions; Class Hierarchies
-
Copy and Move
Copying Containers; Moving Containers; Resource Management; Suppressing Operations
-
Templates
Parameterized Types; Function Templates; Function Objects; Variadic Templates; Aliases
-
-
A Tour of C++: Containers and Algorithms
Containers and Algorithms introduces strings, simple I/O, containers, and algorithms as provided by the standard library.
-
Libraries
Standard-Library Overview; The Standard-Library Headers and Namespace
-
Strings
-
Stream I/O
Output; Input; I/O of User-Defined Types
-
Containers
vector; list; map; unordered_map; Container Overview
-
Algorithms
Use of Iterators; Iterator Types; Stream Iterators; Predicates; Algorithm Overview; Container Algorithms
-
-
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.
-
Introduction
-
Resource Management
unique_ptr and shared_ptr
-
Concurrency
Tasks and threads; Passing Arguments; Returning Results; Sharing Data; Communicating Tasks
-
Small Utility Components
Time; Type Functions; pair and tuple
-
Regular Expressions
-
Math
Mathematical Functions and Algorithms; Complex Numbers; Random Numbers; Vector Arithmetic; Numeric Limits
-
Part II: Basic Facilities
-
Types and Declarations
Fundamental types, naming, scopes, initialization, simple type deduction, object lifetimes, and type aliases
-
Pointers, Arrays, and References
-
Structures, Unions, and Enumerations
-
Statements
-
Expressions
-
Select Operations
-
Functions
-
Exception Handling
-
Namespaces
-
Source Files and Programs
Part III: Abstraction Mechanisms
- Classes
- Construction, Cleanup, Copy, and Move
- Overloading
- Special Operators
- Derived Classes
- Class Hierarchies
- Run-Time Type Information
- Templates
- Generic Programming
- Specialization
- Instantiation
- Templates and Hierarchies
- Metaprogramming
- A Matrix Design
Part IV: The Standard Library
- Standard Library Summary
- STLContainers
- STLAlgorithms
- STLIterators
- Memory and Resources
- Utilities
- Strings
- Regular Expressions
- I/OStreams
- Locales
- Numerics
- Concurrency
- Threads and Tasks
- The C Standard Library
- Compatibility