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.
Embedded Systems Engineering Curriculum
·
Module 6
Modern Embedded C++
1
Inheritance vs. Composition in Embedded C++
Apply inheritance and composition in C++, justifying when to prefer composition for flexible and maintainable embedded designs.
2
V-Tables: Layout, Dispatch, and Overhead
Explain V-Table layout and the virtual function dispatch mechanism, and quantify its memory and performance overhead.
3
Constructor and Destructor Order in Complex Hierarchies
Trace constructor and destructor execution order in complex inheritance hierarchies, including static object initialization.
Compile-Time Optimizations: `constexpr` and `nullptr`
Apply `constexpr` for compile-time computation and `nullptr` for type-safe null pointers in embedded C++ code.
5
RAII with `std::unique_ptr` vs. `std::shared_ptr` Performance
Implement RAII patterns using `std::unique_ptr` and justify why `std::shared_ptr` is often unsuitable for time-critical contexts.
6
C/C++ Interoperability with `extern "C"`
Use `extern "C"` to correctly manage name mangling and ensure C/C++ interoperability in mixed-language projects.
Heap-Free C++: Placement New, Stack, and Static Buffers
Write C++ code that avoids heap allocation in critical paths by using placement new, stack-based objects, and static buffers.
8
C vs. C++ in Embedded Systems: Trade-offs Analysis
Compare the trade-offs between C and C++ in embedded systems regarding code size, performance, and abstraction capabilities.
Previous module
Embedded Data Structures and Algorithms
Next module
RTOS Fundamentals: Scheduling and Concurrency