C++ for Embedded

Description

Assess your practical knowledge of modern C++ for embedded systems, including memory management, object lifetimes, templates, hardware abstraction, performance, real-time constraints, and resource-efficient firmware design.

Questions

20

Time to complete

23 min

c_plus_embedded

Skills

Value and Reference Semantics
constexpr
Variadic Templates
Template Specialization
Templates Basics
Type Traits and Concepts
Compile-Time Configuration
Constructors and Destructors
Static Polymorphism
RAII
CRTP
Copy Semantics
Move Semantics
Rule of Zero/Three/Five
unique_ptr and Unique Ownership
shared_ptr, weak_ptr and Shared Ownership
Non-Owning References and Views
Placement New
Static Initialization and Destruction
Exceptions in Embedded
Initialization
enum class
auto and Type Deduction
Classes and Encapsulation
Operators
Expressions
Short-Circuit Evaluation
Operator Overloading
Virtual Functions and Dynamic Polymorphism
Interfaces and Abstract Classes
Error Codes
std::optional
std::expected and Result Types
No-Exception Design
std::array
std::span
std::vector in Embedded
Fixed-Capacity Containers
Allocators
Algorithms
No-Heap Design
Freestanding C++
Runtime Support and ABI Costs
No-RTTI Design
Zero-Cost Abstractions
Bit Masks
Bit Flags
Shift Operations
Object Representation and std::byte
Binary Parsing and Serialization
C and C++ Interoperability
Type Punning and Strict Aliasing
Type-Safe Register Abstractions
Atomics and Memory Ordering
Interrupt-Safe C++ Patterns
RAII Critical-Section Guards
Lock-Free Programming
Embedded Template Library (ETL/etlcpp)

Personalize skills

Challenge mode

If you take the test with the challenge mode off, the test will not be time-limited. However, you will lose the opportunity to earn points in the competition

Free access to the test according to the competition