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!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn