Aufgaben-Python/courses/cpp/12_lambdas_und_moderne_cpp20_features
Alex Mueller 2571cb8847 feat(ux): responsive kurs-sidebar und kapitel-drawer für alle 13 kurse & web-ide
- Dynamic Sidebar mit window.COURSES_MANIFEST für 13 Kurse (216 Kapitel)
- Kurswechsler Dropdown mit Direktnavigation
- Fortschrittsanzeige mit Solved-Checkmarks (✓) aus localStorage
- Responsive Off-Canvas Drawer mit Floating Action Button (☰ Kapitel) & Backdrop auf Mobile/Tablets
- Web-IDE Topbar Drawer-Button (☰ Kapitel) für unterbrechungsfreien Vollbild-Editor
- Saubere Bereinigung redundanter statischer Legacy-Sidebars
2026-09-12 13:49:46 +02:00
..
aufgabe.cpp IHK AP1 & AP2 (FISI) Crashkurse: Vollständige Lernfeld-Module (LF 1-12), 150 IHK-Prüfungsfragen, interaktive Prüfungs-Engine und Multi-Sprachen-Erweiterung (PDFs excluded) 2026-09-10 07:43:39 +02:00
index.html feat(ux): responsive kurs-sidebar und kapitel-drawer für alle 13 kurse & web-ide 2026-09-12 13:49:46 +02:00
musterloesung.cpp IHK AP1 & AP2 (FISI) Crashkurse: Vollständige Lernfeld-Module (LF 1-12), 150 IHK-Prüfungsfragen, interaktive Prüfungs-Engine und Multi-Sprachen-Erweiterung (PDFs excluded) 2026-09-10 07:43:39 +02:00
README.md IHK AP1 & AP2 (FISI) Crashkurse: Vollständige Lernfeld-Module (LF 1-12), 150 IHK-Prüfungsfragen, interaktive Prüfungs-Engine und Multi-Sprachen-Erweiterung (PDFs excluded) 2026-09-10 07:43:39 +02:00
test_aufgabe.cpp IHK AP1 & AP2 (FISI) Crashkurse: Vollständige Lernfeld-Module (LF 1-12), 150 IHK-Prüfungsfragen, interaktive Prüfungs-Engine und Multi-Sprachen-Erweiterung (PDFs excluded) 2026-09-10 07:43:39 +02:00

C++ 12: Lambdas, Structured Binding & std::optional

In diesem Modul erforschst du die modernen Ausdrucksmittel von C++20: Funktionale Programmierung mit Lambdas, Typsicherheit durch std::optional und elegantes Entpacken mit Structured Binding.


🎯 Lernziele

  1. Lambda Expressions: Syntax [capture](params) -> ret { body } sicher beherrschen.
  2. Capture Semantics: Unterschied zwischen Wert- ([=]), Referenz- ([&]) und selektivem Capture verstehen.
  3. Structured Binding: Daten aus Tuples, Pairs und Structs ohne Boilerplate entpacken (auto [a, b]).
  4. Fehlersicherheit: std::optional<T> für abwesende Werte nutzen (has_value(), value_or()).
  5. Event Callbacks: Ereignisverarbeitung mit std::function und generischen Lambdas.

💡 Schlüsselkonzepte

1. Lambda-Funktionen & Closures

int factor = 3;
auto multiply = [factor](int x) { return x * factor; };

2. Structured Binding

struct Point { double x; double y; };
Point p{10.5, 20.0};
auto [px, py] = p; // px = 10.5, py = 20.0

3. Safe Querying mit std::optional

std::optional<int> safe_divide(int a, int b) {
    if (b == 0) return std::nullopt;
    return a / b;
}

🚀 Aufgaben in aufgabe.cpp

  • TODO 1: find_user_by_id mit std::optional<User>
  • TODO 2: unpack_metric_pair mit Structured Binding
  • TODO 3: Stateful Counting Lambda
  • TODO 4: EventDispatcher mit std::function
  • TODO 5: process_pipeline mit Lambda-Transformationen