Table of Contents
This is the table of contents for Modern C++ for Embedded Systems. Click any item to jump directly to the corresponding chapter.
Chapter 0 - Preface and Prerequisites
- Preface
- Resource and Real-Time Constraints in Embedded Systems
- A Quick C Language Crash Course
- Getting Started with C++98: Namespaces, References, and Scope Resolution
- C++98 Function Interfaces: Overloading and Default Arguments
- C++98 OOP: A Deep Dive into Classes and Objects
- C++98 OOP: Inheritance and Polymorphism
- C++98 Operator Overloading
- Advanced C++98: Type Conversions, Dynamic Memory, and Exception Handling
- When to Use C++ and Which Features to Use (Trade-offs and Disabling Features)
- Language Selection Principles: The Real Trade-off Between Performance and Maintainability
- Does C++ Inevitably Lead to Code Bloat?
Chapter 1 - Build Toolchain
- A Casual Chat on Cross-Compilation and a Simple CMake Guide
- Common Compiler Flags Guide
- Linker and Linker Scripts
Chapter 2 - Zero-Overhead Abstraction
- Zero-Overhead Abstraction
- Inlining and Compiler Optimization
- CRTP vs Runtime Polymorphism: Did You Know?
Chapter 3 - Memory and Object Management
Chapter 4 - Compile-Time Computation
Chapter 5 - Memory Management Strategies
- Dynamic Allocation Issues
- Static Storage and Stack Allocation Strategies
- Object Pool Pattern
- Alternative Strategies When the Heap Is Disabled or Restricted: Using Placement New
- Fixed Pool Allocation
- array vs Raw Arrays: Did You Know?
Chapter 7 - Containers and Data Structures
Chapter 8 - Type Safety and Utility Types
Chapter 10 - Concurrency and Atomic Operations
- atomic
- memory_order
- Lock-Free Data Structure Design
- mutex and RAII Guards
- Writing Interrupt-Safe Code
- Critical Section Protection Techniques