Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
C++ for Deep Learning
·
Module 1
Modern C++ Foundations for Numerical Code
1
Setting Up a Modern C++ Toolchain
Set up a modern C++ toolchain (compiler, CMake, debugger, sanitizers) and build a multi-file project.
2
Safe Function Interfaces: References, Const-Correctness, and Pass-By-Value/Reference
Use references, const-correctness, and pass-by-value/reference idioms to write safe function interfaces.
3
RAII for Resource Management
Apply RAII to manage resources deterministically using stack objects and destructors.
4
Smart Pointers: Managing Heap Memory Ownership
Use std::unique_ptr and std::shared_ptr to model ownership of heap-allocated data.
5
STL Containers for Numerical Buffers
Use core STL containers (vector, array, span) and iterators effectively for numerical buffers.
6
Templates: Functions and Classes
Write and instantiate function and class templates for generic programming.
7
Expressive C++ with std::optional and Structured Bindings
Use std::optional and structured bindings to write expressive modern C++ code.
8
Debugging Memory Errors with ASan and UBSan
Diagnose memory errors (use-after-free, leaks) and undefined behavior using AddressSanitizer and UBSan.
Next module isn't ready yet,
Back to course
Previous module
Next module