Amar Mahmutbegovic
Modern C++ in Embedded Development: Expressive Compile-Time Computation
Available in 3 days, 17 hours and 17 minutesC++11 made a significant impact on C++, bringing in features such as auto, lambdas, and constexpr. These features modernized language, making it more expressive.
This talk guides embedded developers who dominantly use C for their daily tasks through compile-time evaluation of functions and expressions in C++. It demonstrates language capabilities to generate lookup tables and mathematical signals in compile time while providing expressive abstractions similar to Matlab.
The talk will help embedded developers to better understand modern C++ capabilities, and it will cover the following topics:
- Constexpr variables,
- Constexpr functions,
- Operator overloading,
- Lambdas,
- Templates,
- Abbreviated function template.
The talk aims to demonstrate C++’s compile-time computation capability through a practical example while gradually guiding the audience through the language features needed to build the example.
Live Q&A - Modern C++ in Embedded Development: Expressive Compile-Time Computation
Available in 4 days, 15 hours and 47 minutesLive Q&A with Amar Mahmutbegovic for the talk titled Modern C++ in Embedded Development: Expressive Compile-Time Computation
Modern C++ in Embedded Development
Status: Available NowModern C++ in Embedded Development: Compile-Time Observer Pattern
Despite C remaining the dominant language in embedded development, accounting for up to 65% of embedded projects, the adoption of C++ has grown steadily. With an estimated usage of 20% - 30% in the embedded development field, C++ offers classes, improved type safety, and quality of life features such as range-based for loops, the auto keyword, and lambdas.
Modern C++ provides a range of features that enhance the expressiveness and flexibility of codebases in embedded development while maintaining low binary size and memory usage. This session aims to dispel common misconceptions about C++, such as increased binary size and slow runtime performance, through an example implementation of the observer pattern. Attendees will gain insight into the simple yet effective application of Modern C++ for solving common problems in the embedded domain.
Topics covered in this talk will include:
- Debunking embedded developers' misconceptions about C++
- Modern C++ quality of life features: auto, lambdas, and constexpr
- An introduction to templates and fold expressions
- Implementing a compile-time observer pattern in C++