Managing C++ Projects Using CMake
Working with the File System
Exploring CMake's file() command, covering how to read, write, copy, and glob files, and how to manipulate paths.
Managing C++ Projects Using CMake
Using Conan with CMake
Discover Conan, the binary-first C++ package manager, and learn how to integrate it with CMake using profiles and lockfiles for fast, reproducible builds.
Managing C++ Projects Using CMake
Cross-Compilation with Conan
Learn to cross-compile C++ projects with Conan, using build and host profiles to manage dependencies for different platforms.
Implementing a Structure of Arrays
Domain-Specific Containers
Build a custom container that combines the performance of data-oriented design with the ergonomics of object-oriented programming.
Implementing a Structure of Arrays
The Swap-and-Pop Idiom
Comparing the performance cost of deletion techniques, and implementing the Swap-and-Pop approach in a Structure of Arrays container.
Implementing a Structure of Arrays
Stable Addressing and Tombstones
Solving the index invalidation problem and the trade-offs between memory density and reference stability.
Implementing a Structure of Arrays
Generational Indices
Upgrade simple indices into Generational Handles, creating safe, persistent references that detect stale access.
Implementing a Structure of Arrays
The Reallocation Spike
The hidden cost of std::vector growth, why it is dangerous for real-time systems, and how to mitigate it.
Intro to C++ Programming
The this Pointer
Learn about the this pointer in C++ programming, focusing on its application in identifying callers, chaining functions, and overloading operators.
Intro to C++ Programming
Function Arguments and Parameters
Making our functions more useful and dynamic by providing them with additional values to use in their execution