Part 1: C++ Fundamentals Quickstart
1. Introduction and Test-Driving a C++ Application
1.2 Test-Driving a C++20 Application
2. Introduction to C++ Programming
2.2 First Program in C++: Displaying a Line of Text
2.3 Modifying Our First C++ Program
2.4 Another C++ Program: Adding Integers
2.6 Decision Making: Equality and Relational Operators
2.7 Objects Natural: Creating and Using Objects of Standard Library Class string
3. Control Statements, Part 1; Intro to C++20 Text Formatting
3.3 if
Single-Selection Statement
3.4 if…else
Double-Selection Statement
3.6 Counter-Controlled Iteration
3.7 Sentinel-Controlled Iteration
3.9 Compound Assignment Operators
3.10 Increment and Decrement Operators
3.11 Fundamental Types Are Not Portable
3.12 Objects Natural Case Study: Arbitrary Sized Integers
3.13 C++20 Feature Mock-Up—Text Formatting with Function format
4.2 Essentials of Counter-Controlled Iteration
4.4 Examples Using the for
Statement
4.5 Application: Summing Even Integers
4.6 Application: Compound-Interest Calculations
4.7 do…while
Iteration Statement
4.8 switch
Multiple-Selection Statement
4.9 C++17: Selection Statements with Initializers
4.10 break
and continue
Statements
4.12 Confusing the Equality (==
) and Assignment (=
) Operators
4.13 C++20 Feature Mock-Up: [[likely]]
and [[unlikely]]
Attributes
4.14 Objects Natural Case Study: Using the miniz-cpp
Library to Write and Read ZIP files
4.15 C++20 Feature Mock-Up: Text Formatting with Field Widths and Precisions
5.4 Function Definitions and Function Prototypes
5.5 Order of Evaluation of a Function’s Arguments
5.6 Function-Prototype and Argument-Coercion Notes
5.7 C++ Standard Library Headers
5.8 Case Study: Random-Number Generation
5.9 Case Study: Game of Chance; Introducing Scoped enum
s
5.10 C++11’s More Secure Nondeterministic Random Numbers
5.13 References and Reference Parameters
5.15 Unary Scope Resolution Operator
5.19 Example Using Recursion: Fibonacci Series
5.21 C++17 and C++20: [[nodiscard]]
Attribute
5.22 Lnfylun Lhqtomh Wjtz Qarcv: Qjwazkrplm xzz Xndmwwqhlz
Part 2: Arrays, Pointers, Strings and Files
Chapter 6: array
s, vector
s, C++20 Ranges and Functional-Style Programming
6.4 Initializing array Elements in a Loop
6.5 Initializing an array with an Initializer List
6.6 C++1 1 Range-Based for and C++20 Range-Based for with Initializer
6.7 Setting array Elements with Calculations; Introducing constexpr
6.9 Using a Primitive Bar Chart to Display array Data Graphically
6.10 Using array Elements as Counters
6.11 Using arrays to Summarize Survey Results
6.12 Sorting and Searching arrays
6.14 Intro to Functional-Style Programming
6.15 Objects Natural Case Study: C++ Standard Library Class Template vector
Chapter 7: (Downplaying) Pointers in Modern C++
7.2 Pointer Variable Declarations and Initialization
7.4 Pass-by-Reference with Pointers
7.6 C++20: Using to_array
to convert a Built-in Array to a std::array
7.7 Using const
with Pointers and the Data They Point To
7.9 Pointer Expressions and Pointer Arithmetic
7.10 Objects Natural Case Study: C++20 span
s—Views of Contiguous Container Elements
7.11 A Brief Intro to Pointer-Based Strings
7.12 Looking Ahead to Other Pointer Topics
Chapter 8: string
s, string_view
s, Text Files, CSV Files and Regex
8.2 string
Assignment and Concatenation
8.7 Finding Substrings and Characters in a string
8.8 Replacing Characters in a string
8.9 Inserting Characters into a string
8.10 C++11 Numeric Conversions
8.13 Creating a Sequential File
8.14 Reading Data from a Sequential File
8.15 C++14 Reading and Writing Quoted Text
8.16 Updating Sequential Files
8.19 Objects Natural Case Study: Reading and Analyzing a CSV File Containing Titanic Disaster Data
8.20 Objects Natural Case Study: Introduction to Regular Expressions
Part 3: Object-Oriented Programming
9.2 Test-Driving an Account Object
9.3 Account Class with a Data Member and Set and Get Member Functions
9.4 Account Class: Custom Constructors
9.5 Software Engineering with Set and Get Member Functions
9.6 Account Class with a Balance
9.7 Time Class Case Study: Separating Interface from Implementation
9.8 Compilation and Linking Process
9.9 Class Scope and Accessing Class Members
9.10 Access Functions and Utility Functions
9.11 Time Class Case Study: Constructors with Default Arguments
9.13 When Constructors and Destructors Are Called
9.15 Default Assignment Operator
9.16 const Objects and const Member Functions
9.17 Composition: Objects as Members of Classes
9.18 friend Functions and friend Classes
9.20 static Class Members—Classwide Data and Member Functions
9.22 Objects Natural Case Study: Serialization with JSON
Chapter 10: Inheritance and Polymorphism
Chapter 11: Operator Overloading
Chapter 12: Exceptions: A Deeper Look
Part 4: Standard Library Containers, Iterators and Algorithms
Chapter 13: Standard Library Containers and Iterators
Chapter 14: Standard Library Algorithms; Functional Programming: A Deeper Look
Chapter 16: Intro to Custom Templates and C++20 Concepts
Chapter 17: Concurrent Programming; Intro to C++20 Coroutines
Chapter 18: Stream I/O; C++20 Text Formatting: A Deeper Look
Chapter 19: Other Topics; A Look Toward C++23 and Contracts
Appendix A: Operator Precedence and Grouping
Appendix F: Bits, Characters, C Strings and structs
Appendix G: C Legacy Code Topics
Appendix H: Using the Visual Studio Debugger