Working with Bits
Working with Bits
Learn to use bitwise operators to pack multiple states into a single byte, reducing memory bandwidth use.
Working with Bits
Fast Filtering and Branchless Logic
Replace slow logical operators with fast bitwise arithmetic. Learn how to filter data without branching, avoiding pipeline flushes and speeding up queries.
Working with Bits
Quantization and Delta Encoding
Trade CPU cycles for memory bandwidth by compressing data using bit packing, quantization, and delta encoding.
Working with Bits
Advanced Bitwise Techniques
Use bloom filters for fast rejection, hierarchical bitmasks for spatial skipping, and hardware intrinsics using C++20's <bit> library.
Managing C++ Projects Using CMake
Object Files and the Linking Process
The linker's role in the build process, how it resolves symbols to combine object files, and how to troubleshoot common errors.
Managing C++ Projects Using CMake
Static and Shared Libraries
The difference between static and dynamic libraries, how to create them, and the trade-offs between them.
Managing C++ Projects Using CMake
Organizing a C++ Project
Learn how to structure your C++ projects for scalability and maintainability, from basic directory layouts to managing multiple modules.
Managing C++ Projects Using CMake
Managing Libraries and Dependencies
Learn to manage third-party libraries in C++, covering include/library paths, static vs. shared libraries, versioning, and platform differences.
Managing C++ Projects Using CMake
Automated Build Systems and Their Limitations
An introduction to traditional build tools like Makefiles and IDE projects, highlighting the maintenance, scalability, and cross-platform challenges that result
Managing C++ Projects Using CMake
Writing a CMakeLists File
Creating the bare minimum CMakeLists.txt file and build up to a project with an executable and a library, learning the fundamental commands along the way.
Managing C++ Projects Using CMake
CMake Conditionals and Loops
Transform your static build descriptions into dynamic scripts with CMake's control flow commands, if() and foreach().
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.