Inhaltsverzeichnis
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,
¹C++11,
+C++14,
*C++17,
°C++20,
³C++23) definierten Header
(einige wurden geächtet oder entfernt)
<algorithm>
<any>*
<array>¹
<atomic>¹
barrier°
<bit>°
<bitset>
<charconv>*
<chrono>¹
<codecvt>
<compare>°
<complex>
<concepts>°
<condition_variable>¹
coroutine°
<deque>
<exception>
<execution>+
<expected>³
<filesystem>*
<format>°
<forward_list>¹
<fstream>
<functional>
<future>¹
<generator>³
<initializer_list>¹
<iomanip>
<ios>
<iosfwd>
<iostream>
<istream>
<iterator>
latch°
<limits>
<list>
<locale>
<map>
<memory>
<memory_resource>+
<mutex>¹
<new>
<numbers>°
<numeric>
<optional>*
<ostream>
<print>³
<queue>
<random>¹
<ranges>°
<ratio>¹
<regex>¹
<scoped_allocator>¹
semaphore°
<set>
<shared_mutex>+
<source_location>°
<span>°
<sstream>
<stack>
<stacktrace>³
<stdexcept>
stop_token°
<streambuf>
<string>
<string_view>*
<strstream>
<syncstream>°
<system_error>¹
<thread>¹
<tuple>¹
<typeindex>¹
<typeinfo>
<type_traits>¹
<unordered_map>¹
<unordered_set>¹
<utility>
<valarray>
<variant>*
<vector>
<version>°
sowie die aus der C-Bibliothek übernommenen Header der Form <cXYZ>
<cassert>
<ccomplex>
<cctype>
<cerrno>
<cfenv>
<cfloat>
<cinttypes>
<ciso646>
<climits>
<clocale>
<cmath>
<csetjmp>
<csignal>
<cstdalign>
<cstdarg>
<cstdbool>
<cstddef>
<cstdint>
<cstdio>
<cstdlib>
<cstring>
<ctgmath>
<ctime>
<cuchar>
<cwchar>
<cwctype>
welche es auch in der Form <XYZ.h>
gibt.
Diese packen alle Bezeichner in den globalen
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.
Modulares 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 globalen Modulfragment erlaubt.
Aufgaben
Grundlagen
- Sprachversion <version>, Quelltextposition <source_location>
- Konzepte <concepts>, 3-Wege-Vergleich <compare>
Fehlerbehandlung
- <stacktrace> für die Fehlerverfolgung
Typinformation
Freispeicherverwaltung
Zeichenketten
Datum- und Zeitfunktionen
Mathematik
- Zahlenfelder <valarray>
Ein- und Ausgabe
- Konvertierung von Zahlen in Zeichenketten und zurück <charconv>
- C-Funktionen für Konsole und Dateien <cstdio>
- Dateiverwaltung <filesystem>
Schablonen der Standardbibliothek
- Übersicht über Schablonen der Standardbibliothek
- Algorithmen <algorithm>
- Hash-Container <unordered_map> <unordered_set>
- Funktionsadapter <functional> und Zubehör <utility>