namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:header

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


Vorhergehende Überarbeitung
kennen:header [2024-02-20 16:05] (aktuell) – [Übersicht] rrichter
Zeile 1: Zeile 1:
 +====== Header der Standard-Bibliothek von C++ ======
 +> Die Kenntnis der Syntax umfasst höchstens 5% des notwendigen Wissens.
 +>> ---  Yechiel Kimchi
  
 +===== Übersicht =====
 +
 +Hier werden die [[#Aufgaben]]
 +der vom Standard geforderten Bibliotheken beschrieben.
 +Darüber hinaus liefern die Hersteller von Compilern weitere 
 +betriebssystemabhängige, nicht portable Bibliotheken aus.
 +Die Standard-Bibliothek umfasst die in C++ 
 +(C++98, 
 +¹[[begriffe#C++11]], 
 +<sup>+</sup>[[begriffe#C++14]], 
 +*[[begriffe#C++17]],
 +°[[begriffe#C++20]],
 +³[[begriffe#C++23]]) definierten Header
 +(einige wurden <del>geächtet</del> oder <del>entfernt</del>)
 +<WRAP col5>
 +[[.:include:algorithm]] \\
 +[[.:include:any]]* \\     
 +[[.:include:array]]¹  \\     
 +[[.:include:atomic]]¹    \\
 +[[.:include:barrier]]° \\
 +[[.:include:bit]]° \\
 +[[.:include:bitset]]  \\    
 +[[.:include:charconv]]*  \\
 +[[.:include:chrono]]¹ \\
 +<del><codecvt></del> \\
 +[[.:include:compare]]°  \\ 
 +[[.:include:complex]]  \\
 +[[.:include:concepts]]° \\
 +[[.:include:condition_variable]]¹ \\
 +[[.:include:coroutine]]° \\
 +[[.:include:deque]] \\
 +[[.:include:exception]] \\ 
 +[[.:include:execution]]<sup>+</sup> \\
 +[[.:include:expected]]³ \\
 +[[.:include:filesystem]]* \\
 +[[.:include:format]]° \\
 +[[.:include:forward_list]]¹ \\  
 +[[.:include:fstream]]  \\
 +[[.:include:functional]] \\
 +[[.:include:future]]¹   \\
 +[[.:include:generator]]³ \\
 +[[.:include:initializer_list]]¹ \\
 +[[.:include:iomanip]] \\
 +[[.:include:ios]] \\
 +[[.:include:iosfwd]] \\
 +[[.:include:iostream]] \\
 +[[.:include:istream]] \\
 +[[.:include:iterator]] \\
 +[[.:include:latch]]° \\
 +[[.:include:limits]] \\
 +[[.:include:list]] \\
 +[[.:include:locale]] \\
 +[[.:include:map]] \\
 +[[.:include:memory]] \\     
 +<memory_resource><sup>+</sup> \\     
 +[[.:include:mutex]]¹    \\
 +[[.:include:new]] \\
 +[[.:include:numbers]]° \\
 +[[.:include:numeric]] \\
 +[[.:include:optional]]* \\
 +[[.:include:ostream]] \\
 +[[.:include:print]]³ \\
 +[[.:include:queue]]  \\
 +[[.:include:random]]¹ \\
 +[[.:include:ranges]]° \\
 +[[.:include:ratio]]¹  \\
 +[[.:include:regex]]¹ \\
 +[[.:include:scoped_allocator]]¹ \\   
 +[[.:include:semaphore]]° \\
 +[[.:include:set]] \\
 +[[.:include:shared_mutex]]<sup>+</sup> \\
 +[[.:include:source_location]]° \\
 +[[.:include:span]]°  \\
 +[[.:include:sstream]] \\
 +[[.:include:stack]] \\
 +[[.:include:stacktrace]]³ \\
 +[[.:include:stdexcept]] \\
 +[[.:include:stop_token]]° \\
 +[[.:include:streambuf]] \\
 +[[.:include:string]] \\
 +[[.:include:string_view]]* \\   
 +<del><strstream></del> \\
 +[[.:include:syncstream]]° \\
 +[[.:include:system_error]]¹  \\
 +[[.:include:thread]]¹ \\
 +[[.:include:tuple]]¹ \\
 +[[.:include:typeindex]]¹ \\
 +[[.:include:typeinfo]]  \\
 +[[.:include:type_traits]]¹ \\ 
 +[[.:include:unordered_map]]¹ \\
 +[[.:include:unordered_set]]¹ \\
 +[[.:include:utility]]    \\
 +[[.:include:valarray]] \\
 +[[.:include:variant]]*   \\
 +[[.:include:vector]] \\
 +[[.:include:version]]°
 +</WRAP>
 +\\
 +sowie die aus der C-Bibliothek übernommenen Header der Form <cXYZ>
 +
 +<WRAP col5>
 +[[.:include:cassert]]  \\
 +<del><ccomplex></del>  \\
 +[[.:include:cctype]] \\
 +[[.:include:cerrno]] \\
 +[[.:include:cfenv]] \\
 +[[.:include:cfloat]] \\
 +<cinttypes> \\
 +<del><ciso646></del> \\
 +[[.:include:climits]] \\
 +[[.:include:clocale]] \\
 +[[.:include:cmath]] \\
 +[[.:include:csetjmp]] \\
 +[[.:include:csignal]] \\
 +<del><cstdalign></del> \\
 +[[.:include:cstdarg]] \\
 +<del><cstdbool></del> \\
 +[[.:include:cstddef]] \\
 +[[.:include:cstdint]] \\
 +[[.:include:cstdio]] \\
 +[[.:include:cstdlib]] \\
 +[[.:include:cstring]] \\
 +<del><ctgmath></del> \\
 +[[.:include:ctime]] \\
 +<cuchar> \\
 +<cwchar> \\
 +<cwctype>
 +</WRAP>
 +\\
 +welche es auch in der Form ''<XYZ.h>'' gibt.
 +Diese packen alle Bezeichner in den globalen 
 +[[.:sprachkern#Namensräume|Namensraum]]
 +statt in den Namensraum ''std''.
 +Der Standard empfiehlt für neue Programme die neuere Form ohne ''.h''
 +mit Ausnahme solcher Programme, die streng C-kompatibel sein sollen.
 +
 +[[kennen:Module|Modulares]] [[begriffe#C++23]] fasst die Header mit ''import std;'' (und ''import std.compat;'' für C-Bibliotheken im globalen Namensraum) zusammen. Dort sind ''#include''-Befehle nur im [[kennen:Module#globales_und_privates_fragment|globalen Modulfragment]] erlaubt.
 +
 +===== Aufgaben =====
 +==== Grundlagen ====
 +    * Sprachversion [[.:include:version]], Quelltextposition [[.:include:source_location]]
 +    * Konzepte [[.:include:concepts]], 3-Wege-Vergleich [[.:include:compare]]
 +    * C-Standarddefinitionen [[.:include:cstddef]], [[.:include:cstdint]], [[.:include:cstdlib]], variable Argumentlisten [[.:include:cstdarg]], 
 +==== Fehlerbehandlung ==== 
 +    * Ausnahmen [[.:include:exception]] [[.:include:stdexcept]] [[.:include:system_error]]
 +    * Fehlererkennung [[.:include:cassert]] und C-Fehlerbehandlung [[.:include:cerrno]] [[.:include:csignal]] [[.:include:csetjmp]] 
 +    * [[.:include:stacktrace]] für die Fehlerverfolgung
 +==== Typinformation ==== 
 +    * Laufzeit-Typinformation [[.:include:typeinfo]] [[.:include:typeindex]] [[.:include:type_traits]] 
 +    * Wertebereichsgrenzen und Genauigkeit  [[.:include:limits]] [[.:include:cfloat]] [[.:include:climits]]
 +==== Freispeicherverwaltung ==== 
 +    * [[.:include:memory]] [[.:include:new]] [[.:include:scoped_allocator]]
 +==== Zeichenketten ==== 
 +    * [[.:include:string]] [[.:include:string_view]]
 +    * C-Funktionen für nullterminierte Zeichenfelder [[.:include:cstring]]
 +    * reguläre Ausdrücke [[.:include:regex]] 
 +    * Zeichensätze [[.:include:cctype]] <cuchar> <cwchar> <cwctype>
 +    * Internationalisierung [[.:include:clocale]] [[.:include:locale]] 
 +==== Datum- und Zeitfunktionen ==== 
 +  * [[.:include:chrono]] [[.:include:ctime]] 
 +==== Mathematik ==== 
 +    * Funktionen [[.:include:bit]] [[.:include:cmath]], Konstanten [[.:include:numbers]], numerische Algorithmen [[.:include:numeric]]
 +    * komplexe Zahlen [[.:include:complex]], Zufallszahlen [[.:include:random]] und Verhältniszahlen [[.:include:ratio]]
 +    * Zahlenfelder [[.:include:valarray]]
 +==== Ein- und Ausgabe ==== 
 +    * Hilfsklassen [[.:include:ios]] [[.:include:iosfwd]] [[.:include:streambuf]] 
 +    * Ein-/Ausgabe-Ströme [[.:include:iostream]] [[.:include:istream]] [[.:include:ostream]] 
 +    * Ein-/Ausgabe-Formatierung mit [[.:include:format]], [[.:include:print]] und [[.:include:iomanip]], Synchronisierung [[.:include:syncstream]]  
 +    * Dateiströme [[.:include:fstream]] und ''string''-Ströme [[.:include:sstream]]
 +    * Konvertierung von Zahlen in Zeichenketten und zurück [[.:include:charconv]]
 +    * C-Funktionen für Konsole und Dateien [[.:include:cstdio]]
 +    * Dateiverwaltung [[.:include:filesystem]] 
 +==== Schablonen der Standardbibliothek ====
 +    * Übersicht über [[.:stl]] 
 +    * Algorithmen [[.:include:algorithm]] 
 +    * sequentielle Container [[.:include:array]] [[.:include:bitset]] [[.:include:deque]] [[.:include:forward_list]] [[.:include:initializer_list]] [[.:include:list]] [[.:include:vector]]
 +    * assoziative Container [[.:include:map]] [[.:include:set]] 
 +    * Hash-Container [[.:include:unordered_map]] [[.:include:unordered_set]]
 +    * Container-Adapter [[.:include:queue]] [[.:include:stack]] 
 +    * Iteratoren [[.:include:iterator]] und Bereiche [[.:include:ranges]], [[.:include:span]]
 +    * Funktionsadapter [[.:include:functional]] und Zubehör [[.:include:utility]]
 +    * Datenkapseln [[.:include:any]] [[.:include:expected]] [[.:include:optional]]  [[.:include:tuple]] [[.:include:variant]]
 +==== Koroutinen und Nebenläufigkeit ==== 
 +    * [[.:Parallelverarbeitung]]
 +    * [[.:include:coroutine]], [[.:include:generator]]     
 +    * nebenläufige Prozesse [[.:include:thread]] und verzögerte Berechnungen [[.:include:future]]
 +    * Sperren [[.:include:atomic]] [[.:include:barrier]] [[.:include:condition_variable]] [[.:include:latch]] [[.:include:mutex]] [[.:include:semaphore]] [[.:include:shared_mutex]] [[.:include:stop_token]]
 +    

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki