Hinweis: Die aktuelle OOP-Konferenz finden Sie hier!

RÜCKBLICK AUF DAS PROGRAMM 2021

pmr::STL Containers for Embedded Applications

Der Vortrag findet in Englisch statt / The lecture will be in English

Per default, the standard library containers allocate their memory with new and release it with delete. These calls
• do not have deterministic execution times
• can lead to memory fragmentation
In many embedded applications this is not tolerable. Therefore, using standard library containers is not allowed.
With the allocators available since C++17 in the std::pmr namespace (polymorphic memory resources) these disadvantages can often be avoided. With the pmr containers, standard library containers can be used for the first time in the history of C++ in many embedded applications.

Zielpublikum:
Architects, Developers, Project Leader, Manager, Decision Makers
Voraussetzungen: Basic C++ experience
Schwierigkeitsgrad: Fortgeschritten

Extended Abstract:
Per default, the standard library containers allocate their memory with new and release it with delete. These calls
• do not have deterministic execution times
• can lead to memory fragmentation
In many embedded applications this is not tolerable. AUTOSAR Rule A18-5-requires:
Memory management functions shall ensure the following:
(a) deterministic behavior resulting with the existence of worst-case execution time,
(b) avoiding memory fragmentation,
(c) avoid running out of memory,
(d) avoiding mismatched allocations or deallocations,
(e) no dependence on non-deterministic calls to kernel.
With the allocators available since C++17 in the std::pmr namespace (polymorphic memory resources) these disadvantages can often be avoided. With the pmr containers, standard library containers can be used for the first time in the history of C++ in many embedded applications.

Prof. Richard Kaiser führt seit vielen Jahren Seminare für Firmen durch, vor allem über Software-Entwicklung und die Programmiersprachen C# und C++ sowie C. Zu seinen Kunden gehören renommierte Weltkonzerne und kleine und mittelständische Unternehmen.
Nach dem Studium der Mathematik an der Universität Tübingen und der FU Berlin war er an der Pädagogischen Hochschule Reutlingen in der Lehrerausbildung tätig und hat sich intensiv mit Mathematikdidaktik beschäftigt. Danach war er Software-Entwickler (v.a. für technische Anwendungen), bei einigen Firmen Leiter der Software-Abteilung, über 20 Jahre Professor an der Dualen Hochschule Lörrach, über 30 Jahre freiberuflicher Trainer für C, C++, C#, Speaker bei Konferenzen, Mitglied im DIN Normierungsausschuss Informationstechnik NI-22, usw.
Richard Kaiser
09:00 - 10:45
Vortrag: Mi 4.1-1

Vortrag Teilen

C++20 Templates: The Next Level

C++20 is more or less out the door. It is probably the biggest change to the language since ever. In this session we will look into some changes that templates received with C++20. The biggest change is the introduction of Concepts.

We don’t stop there. We will also talk about improvements to CTAD and NTTP. Of course, we will also look into how templated lambdas work in C++20.

By the end of the talk you have learned about the newest C++20 template updates and how to apply them.

Target Audience: Developers
Prerequisites: Knowledge about at least C++11
Level: Basic

Andreas Fertig, CEO of Unique Code GmbH, is an experienced trainer and consultant for C++ for standards 11 to 20.
Andreas is involved in the C++ standardization committee, in which the new standards are developed. At international conferences, he presents how code can be written better. He publishes specialist articles, e.g., for iX magazine, and has published several textbooks on C++.
With C++ Insights (https://cppinsights.io), Andreas has created an internationally recognized tool that enables users to look behind the scenes of C++ and thus understand constructs even better.
Before working as a trainer and consultant, he worked for Philips Medizin Systeme GmbH for ten years as a C++ software developer and architect focusing on embedded systems.

Andreas Fertig
09:00 - 10:45
Vortrag: Mi 4.1-2

Vortrag Teilen