| .. | ||
| aufgabe.cpp | ||
| index.html | ||
| musterloesung.cpp | ||
| README.md | ||
| test_aufgabe.cpp | ||
C++ 11: Standard Template Library (STL)
Die Standard Template Library (STL) ist das Herzstück moderner C++ Entwicklung. Sie bietet hochgradig optimierte Datenstrukturen und Algorithmen für Systems Engineering und Performance-Anwendungen.
🎯 Lernziele
- STL-Container:
std::vector,std::unordered_mapundstd::setpassend zu den Zugriffsanforderungen einsetzen. - STL-Algorithmen: Komplexe Schleifen durch
std::sort,std::copy_if,std::transformundstd::accumulateersetzen. - Iteratoren & Custom Comparator: Flexible Sortierkriterien mit Lambdas formulieren.
- Deduplizierung & Aggregation: Eindeutige Mengen bilden und Telemetriewerte effizient aggregieren.
- Memory Reserve: Performance optimieren durch Vermeidung unnötiger Heap-Reallokationen.
💡 Schlüsselkonzepte
1. std::unordered_map
std::unordered_map<std::string, int> inventory;
inventory["potion"] += 5; // Erstellt oder inkrementiert O(1)
if (auto it = inventory.find("potion"); it != inventory.end()) {
std::cout << "Menge: " << it->second << std::endl;
}
2. STL Algorithmen (<algorithm>, <numeric>)
// Sortieren
std::sort(vec.begin(), vec.end(), [](const Item& a, const Item& b) {
return a.score > b.score;
});
// Minimum / Maximum
auto min_it = std::min_element(vec.begin(), vec.end());
// Summe
double total = std::accumulate(vec.begin(), vec.end(), 0.0);
🚀 Aufgaben in aufgabe.cpp
- TODO 1:
InventorySystemmitstd::unordered_map - TODO 2:
filter_and_sort_leaderboardmitstd::copy_if&std::sort - TODO 3:
calculate_telemetry_statsmitmin_element,max_element,accumulate - TODO 4:
extract_unique_sorted_tagsmitstd::set - TODO 5:
normalize_sensor_datamitstd::transform