Chapter 1: Setup and C++23
Setup and C++23 Fundamentals, Setup and C++23 Syntax and Structure, Setup and C++23 Practical Example, Setup and C++23 Common Mistakes, Setup and C++23 Best Practices
Open chapterChapter 2: First C++ Program
First C++ Program Fundamentals, First C++ Program Syntax and Structure, First C++ Program Practical Example, First C++ Program Common Mistakes, First C++ Program Best Practices
Open chapterChapter 3: Variables and Constants
Declaring Variables, Initialization, Scope, Constants/Readonly Values, Naming and Safety
Open chapterChapter 4: Fundamental Types
Built-in Types, Type Conversion, Type Inference, Custom Types, Type Safety
Open chapterChapter 5: Operators and Expressions
Arithmetic Operators, Comparison Operators, Logical Operators, Assignment Operators, Precedence and Safe Use
Open chapterChapter 6: Input and Output Streams
Stream Concepts, Reading, Writing, Buffering, Resource Management
Open chapterChapter 7: Strings and string_view
Creating Strings, Common String Operations, Searching and Comparing, Formatting and Conversion, Performance and Safety
Open chapterChapter 8: Conditions and switch
if, else if, switch, Conditional Expressions, Decision-Logic Best Practices
Open chapterChapter 9: Loops and Ranges
for Loop, while Loop, do/foreach Variants, break and continue, Loop Design
Open chapterChapter 10: Functions
Declaring Functions, Parameters, Return Values, Scope, Function Design
Open chapterChapter 11: References and Value Categories
References and Value Categories Fundamentals, References and Value Categories Syntax and Structure, References and Value Categories Practical Example, References and Value Categories Common Mistakes, References and Value Categories Best Practices
Open chapterChapter 12: Arrays and std::array
Declaring Arrays, Indexing Elements, Looping Through Arrays, Multidimensional Arrays, Array Safety and Common Errors
Open chapterChapter 13: Vectors and Dynamic Sequences
Vectors and Dynamic Sequences Fundamentals, Vectors and Dynamic Sequences Syntax and Structure, Vectors and Dynamic Sequences Practical Example, Vectors and Dynamic Sequences Common Mistakes, Vectors and Dynamic Sequences Best Practices
Open chapterChapter 14: Standard Containers
Standard Containers Fundamentals, Standard Containers Syntax and Structure, Standard Containers Practical Example, Standard Containers Common Mistakes, Standard Containers Best Practices
Open chapterChapter 15: Iterators
Iterators Fundamentals, Iterators Syntax and Structure, Iterators Practical Example, Iterators Common Mistakes, Iterators Best Practices
Open chapterChapter 16: Algorithms
Algorithms Fundamentals, Algorithms Syntax and Structure, Algorithms Practical Example, Algorithms Common Mistakes, Algorithms Best Practices
Open chapterChapter 17: Classes and Objects
Declaring Classes, Fields and State, Methods and Behavior, Constructors, Encapsulation
Open chapterChapter 18: Constructors and Destructors
Constructors and Destructors Fundamentals, Constructors and Destructors Syntax and Structure, Constructors and Destructors Practical Example, Constructors and Destructors Common Mistakes, Constructors and Destructors Best Practices
Open chapterChapter 19: Encapsulation
Encapsulation Fundamentals, Encapsulation Syntax and Structure, Encapsulation Practical Example, Encapsulation Common Mistakes, Encapsulation Best Practices
Open chapterChapter 20: Inheritance
Base and Derived Types, Overriding Behavior, Polymorphism, Protected Members, Composition vs Inheritance
Open chapterChapter 21: Polymorphism and virtual
Polymorphism and virtual Fundamentals, Polymorphism and virtual Syntax and Structure, Polymorphism and virtual Practical Example, Polymorphism and virtual Common Mistakes, Polymorphism and virtual Best Practices
Open chapterChapter 22: Abstract Classes and Interfaces
Declaring Classes, Fields and State, Methods and Behavior, Constructors, Encapsulation
Open chapterChapter 23: Operator Overloading
Arithmetic Operators, Comparison Operators, Logical Operators, Assignment Operators, Precedence and Safe Use
Open chapterChapter 24: Enums and Strong Types
Built-in Types, Type Conversion, Type Inference, Custom Types, Type Safety
Open chapterChapter 25: Templates
Template Basics, Function Templates, Class Templates, Constraints/Concepts, Template Design
Open chapterChapter 26: Function Templates
Declaring Functions, Parameters, Return Values, Scope, Function Design
Open chapterChapter 27: Class Templates
Declaring Classes, Fields and State, Methods and Behavior, Constructors, Encapsulation
Open chapterChapter 28: Concepts and Constraints
Concepts and Constraints Fundamentals, Concepts and Constraints Syntax and Structure, Concepts and Constraints Practical Example, Concepts and Constraints Common Mistakes, Concepts and Constraints Best Practices
Open chapterChapter 29: Lambdas
Lambda Syntax, Parameters and Capture, Returning Values, Callbacks, Lambda Best Practices
Open chapterChapter 30: Smart Pointers
Pointer Declaration, Address and Dereference, Pointer Arithmetic, Pointers with Arrays/Objects, Pointer Safety
Open chapterChapter 31: RAII and Resource Management
RAII and Resource Management Fundamentals, RAII and Resource Management Syntax and Structure, RAII and Resource Management Practical Example, RAII and Resource Management Common Mistakes, RAII and Resource Management Best Practices
Open chapterChapter 32: Move Semantics
Move Semantics Fundamentals, Move Semantics Syntax and Structure, Move Semantics Practical Example, Move Semantics Common Mistakes, Move Semantics Best Practices
Open chapterChapter 33: Copy/Move Constructors and Assignment
Copy/Move Constructors and Assignment Fundamentals, Copy/Move Constructors and Assignment Syntax and Structure, Copy/Move Constructors and Assignment Practical Example, Copy/Move Constructors and Assignment Common Mistakes, Copy/Move Constructors and Assignment Best Practices
Open chapterChapter 34: Exceptions
Throwing Errors, Catching Errors, Finally/Cleanup, Custom Errors, Error-Handling Best Practices
Open chapterChapter 35: Files and Streams
Opening Files, Reading Data, Writing Data, Paths and Resources, Error and Resource Handling
Open chapterChapter 36: STL Algorithms and Ranges
STL Algorithms and Ranges Fundamentals, STL Algorithms and Ranges Syntax and Structure, STL Algorithms and Ranges Practical Example, STL Algorithms and Ranges Common Mistakes, STL Algorithms and Ranges Best Practices
Open chapterChapter 37: Ranges Views and Pipelines
Ranges Views and Pipelines Fundamentals, Ranges Views and Pipelines Syntax and Structure, Ranges Views and Pipelines Practical Example, Ranges Views and Pipelines Common Mistakes, Ranges Views and Pipelines Best Practices
Open chapterChapter 38: Associative Containers
Associative Containers Fundamentals, Associative Containers Syntax and Structure, Associative Containers Practical Example, Associative Containers Common Mistakes, Associative Containers Best Practices
Open chapterChapter 39: unordered Containers
unordered Containers Fundamentals, unordered Containers Syntax and Structure, unordered Containers Practical Example, unordered Containers Common Mistakes, unordered Containers Best Practices
Open chapterChapter 40: Optional, Variant, and Any
Optional, Variant, and Any Fundamentals, Optional, Variant, and Any Syntax and Structure, Optional, Variant, and Any Practical Example, Optional, Variant, and Any Common Mistakes, Optional, Variant, and Any Best Practices
Open chapterChapter 41: Tuple and Structured Bindings
Tuple and Structured Bindings Fundamentals, Tuple and Structured Bindings Syntax and Structure, Tuple and Structured Bindings Practical Example, Tuple and Structured Bindings Common Mistakes, Tuple and Structured Bindings Best Practices
Open chapterChapter 42: Chrono and Time
Chrono and Time Fundamentals, Chrono and Time Syntax and Structure, Chrono and Time Practical Example, Chrono and Time Common Mistakes, Chrono and Time Best Practices
Open chapterChapter 43: Random Library
Random Library Fundamentals, Random Library Syntax and Structure, Random Library Practical Example, Random Library Common Mistakes, Random Library Best Practices
Open chapterChapter 44: Filesystem
Opening Files, Reading Data, Writing Data, Paths and Resources, Error and Resource Handling
Open chapterChapter 45: Regular Expressions
Regular Expressions Fundamentals, Regular Expressions Syntax and Structure, Regular Expressions Practical Example, Regular Expressions Common Mistakes, Regular Expressions Best Practices
Open chapterChapter 46: Threads
Creating Threads, Shared State, Synchronization, Thread Safety, Threading Best Practices
Open chapterChapter 47: Mutexes and Synchronization
Mutexes and Synchronization Fundamentals, Mutexes and Synchronization Syntax and Structure, Mutexes and Synchronization Practical Example, Mutexes and Synchronization Common Mistakes, Mutexes and Synchronization Best Practices
Open chapterChapter 48: Atomics and Memory Model
Memory Model, Allocation, Lifetime, Ownership/References, Performance and Safety
Open chapterChapter 49: Futures, Promises, and async
Asynchronous Basics, Starting Async Work, Awaiting Results, Error and Cancellation, Async Best Practices
Open chapterChapter 50: Coroutines
Coroutines Fundamentals, Coroutines Syntax and Structure, Coroutines Practical Example, Coroutines Common Mistakes, Coroutines Best Practices
Open chapterChapter 51: Modules
Module Basics, Import/Export, Project Structure, Dependencies, Module Best Practices
Open chapterChapter 52: Compile-Time Programming constexpr/consteval
Compile-Time Programming constexpr/consteval Fundamentals, Compile-Time Programming constexpr/consteval Syntax and Structure, Compile-Time Programming constexpr/consteval Practical Example, Compile-Time Programming constexpr/consteval Common Mistakes, Compile-Time Programming constexpr/consteval Best Practices
Open chapterChapter 53: Type Traits and Metaprogramming
Built-in Types, Type Conversion, Type Inference, Custom Types, Type Safety
Open chapterChapter 54: Memory Resources and Allocators
Memory Model, Allocation, Lifetime, Ownership/References, Performance and Safety
Open chapterChapter 55: Networking and External Library Concepts
Network Fundamentals, Client Connections, Server Connections, Protocols, Security and Reliability
Open chapterChapter 56: Testing and Debugging
Unit Test Basics, Arrange-Act-Assert, Edge Cases, Mocks/Fakes Concepts, Automation and Coverage
Open chapterChapter 57: Performance and Profiling
Performance and Profiling Fundamentals, Performance and Profiling Syntax and Structure, Performance and Profiling Practical Example, Performance and Profiling Common Mistakes, Performance and Profiling Best Practices
Open chapterChapter 58: Security and Undefined Behavior
Threat Model, Input Validation, Authentication/Authorization, Secret Handling, Secure Defaults
Open chapterChapter 59: C++23 Modern Features and C++26 Preview
C++23 Modern Features and C++26 Preview Fundamentals, C++23 Modern Features and C++26 Preview Syntax and Structure, C++23 Modern Features and C++26 Preview Practical Example, C++23 Modern Features and C++26 Preview Common Mistakes, C++23 Modern Features and C++26 Preview Best Practices
Open chapterChapter 60: Architecture, Build Systems, Deployment, and Capstone
Architecture, Build Systems, Deployment, and Capstone Fundamentals, Architecture, Build Systems, Deployment, and Capstone Syntax and Structure, Architecture, Build Systems, Deployment, and Capstone Practical Example, Architecture, Build Systems, Deployment, and Capstone Common Mistakes, Architecture, Build Systems, Deployment, and Capstone Best Practices
Open chapter