Was sind die neuen Funktionen in C 17?
C 17 bringt zahlreiche Verbesserungen und Ergänzungen zur Sprache, darunter:
Sprachfunktionen:
- Vorlagenargument Abzug für Vorlagenklassen
-
Modernisierung der Verwendung von with ... und Listen: Bietet eine sauberere Syntax für die Verwendung von std::initializer_list.
-
Sauberere Multi-Return- und Flusskontrolle: Führt Funktionen wie strukturierte Bindungen und if constexpr ein und vereinfacht so den komplexen Kontrollfluss Szenarien.
-
Verallgemeinerte bereichsbasierte for-Schleifen: Erweitert bereichsbasierte for-Schleifen, um Sentinels und Nicht-Container-Typen zu unterstützen.
-
Arrays mit Zeigerkonvertierungskorrekturen : Behebt Probleme beim Konvertieren von Zeiger-Arrays in andere Zeiger Typen.
Bibliothekserweiterungen:
-
Datentypen: Fügt std::variant, std::optional, std hinzu ::any und std::string_view zur Verbesserung der Datenverarbeitung und Manipulation.
-
invoke stuff: Führt std::invoke und std::apply ein, um den Funktionsaufruf und die Argumentverarbeitung zu vereinfachen.
-
File System TS v1: Bietet eine standardisierte API für Dateisystemoperationen.
-
Neu Algorithmen: Enthält Algorithmen wie transform_reduce, exclusive_scan und andere, optimiert für Parallelität und Effizienz.
-
Threading: Verbessert die Threading-Funktionen mit std::shared_mutex und anderen Funktionen.
-
Library Fundamentals TS v1: Bietet Funktionalität für Suchalgorithmen, polymorphe Allokatoren und andere Dienstprogramme.
-
Container-Verbesserungen: Fügt try_emplace, insert_or_assign, Splicing und mehr für eine verbesserte Containerhandhabung hinzu.
-
Smart-Pointer-Änderungen: Enthält Korrekturen und Verbesserungen für unique_ptr und schwach_aus_diesem.
-
Verschiedenes: Enthält Hilfsfunktionen wie std::clamp, std::lcm und andere und erweitert die Funktionen der Standardbibliothek.
Veraltet und entfernt Funktionen:
-
Entfernt: Schlüsselwörter, Trigraphen, iOS-Aliase und andere registrieren.
-
Veraltet: Allokatoren in std ::function und etwas C Bibliotheken.
Hinweis:
- Einige Funktionen sind möglicherweise nicht in allen Compilern verfügbar, bis sie C 1z unterstützen, was C 17 und zusätzliche Updates umfasst .
- Umfassende Details und Spezifikationen finden Sie in der offiziellen Dokumentation.
Das obige ist der detaillierte Inhalt vonWas ist neu in C 17: Ein Leitfaden zu den wichtigsten Funktionen und Verbesserungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!