Welche neuen Funktionen gibt es in C++17 und wie verwendet man sie in realen Projekten?
Hallo zusammen! Ich schreibe seit etwa einem Jahr in C++, hauptsächlich mit C++11/14. Vor kurzem habe ich begonnen, C++17 zu lernen, und mir ist aufgefallen, dass viel Code in Open-Source-Projekten Konstrukte verwendet, die ich nicht verstehe.
Zum Beispiel sehe ich oft diesen Code:
auto [x, y, z] = getPoint();
Oder das:
if (auto it = map.find(key); it != map.end()) { ... }
Oder auch:
std::variant<int, float, std::string> v = 42;
Meine Frage: Welche Neuerungen hat C++17 genau gebracht? Ich habe von structured bindings, if-init, std::variant, std::optional gehört, aber wie funktioniert das alles in der Praxis? Gibt es noch etwas, das man wissen sollte?
Mich interessieren besonders:
1. Welche Features vereinfachen wirklich die tägliche Entwicklung?
2. Was hat sich in der Standardbibliothek geändert?