Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Die moderne C++-Bibliothek in Version 2

&pagelevel(4)&pagelevel

Diese C++-Bibliothek kann nur in den Sprachmodi C++ 2017 und C++ 2020 genutzt werden. Sie umfasst folgende Schnittstellen (basierend auf den Kapiteln des C++ Standards von 2020):

  • Einige concept Deklarationen (Kapitel 18),
  • Einige Hilfsklassen (Kapitel 20), u.a. Allokatoren, Functions-Objekte, Smart Pointer, Paare, Tupel und mehr,
  • String-Klassen (Kapitel 21), insbesondere einen String von char Elementen, der mit EBCDIC gut umgehen kann,
  • Container Klassen (Kapitel 22), insbesondere bitset, deque, queue, vector, list, map, multimap, set,
  • Iteratoren (Kapitel 23),
  • Klassen für Bereiche (ranges, Kapitel 24),
  • generische Algorithem (Kapitel 25), u.a. suchen, sortieren, minimum, maximum, partitionieren, permutieren,
  • numerische Klassen (Kapitel 26), u.a für komplexe Zahlen oder für Arrays von arithmetischen Werten,
  • Klassen für Uhrzeit und Kalender (Kapitel 27),
  • Klassen für die locale-Behandlung (Kapitel 28),
  • Ein- und Ausgabe (Kapitel 29), in dieser Library ist die Implementierung Template-basiert,
  • reguläre Ausdrücke (Kapitel 30).

Die Klassen für atomare Operationen (Kapitel 31) und Threads (Kapitel 32) werden nicht angeboten.

Die Include-Dateien für die o.g. Schnittstellen sind in der Bibliothek SYSLIB.CRTE.CXX02 enthalten, die Module in der Bibliothek SYSLNK.CRTE.CXX02.

Die Schnittstelle der C++-Bibliothek befindet sich im Namensraum std. Dieser sollte auch bei der Benutzung angegeben werden. Die Implementierung ist im Namensraum std::__CXX02.

Ein weiterer Bestandteil der C++-Bibliothek sind die unten aufgelisteten Include-Dateien (ebenfalls in SYSLIB.CRTE.CXX02 enthalten), in denen alle ANSI-C-Bibliotheksfunktionen im Namensraum std definiert sind. Die Namen dieser Include-Dateien sind wie folgt aus den Namen der ANSI-C-Include-Dateien abgeleitet: Dem Namen wird der Buchstabe c vorangestellt, das Suffix .h entfällt.

<cassert>

<cinttypes>

<csetjmp>

<cstddef>

<ctgmath>

<cctype>

<ciso646>

<csignal>

<cstdint>

<ctime>

<cerrno>

<climits>

<cstdalign>

<cstdio>

<cuchar>

<cfenv>

<clocale>

<cstdarg>

<cstdlib><cwchar>
<cfloat><cmath><cstdbool><cstring><cwctype>

Benutzen der Bibliothek

Programmentwicklung in BS2000-Umgebung (SDF)

Es muss mit der MODIFY-LIBRARY-VERSION-Anweisung die Bibliotheks-Version 2 ausgewählt sein.

Beim Übersetzen muss die Bibliothek SYSLIB.CRTE.CXX02 nach Standard-Includes durchsucht werden. Dies ist sichergestellt, wenn in der MODIFY-INCLUDE-LIBRARY-Anweisung für die Suche nach den Standard-Includes die Option STD-INCLUDE-LIBRARY=*STANDARD-LIBRARY angegeben wird (Voreinstellung).

Das Programm muss mit der BIND-Anweisung des Compilers gebunden werden. In der MODIFY-BIND-PROPERTIES-Anweisung ist die Angabe RUNTIME-LANGUAGE = *CPLUSPLUS(MODE= *LATEST/*2017/*2020) erforderlich. Die Angabe von *LATEST ist voreingestellt.

Für weitere Einzelheiten siehe "MODIFY-BIND-PROPERTIES".

Programmentwicklung in POSIX-Umgebung

Zum Einfügen der Include-Dateien und zum Binden der Module muss im CC-Kommando der C++ 2017-Modus oder C++ 2020-Modus angegeben werden. Der C++ 2020-Modus ist beim CC-Kommando voreingestellt. Die Bibliotheks-Version 2 muss ausgewählt sein. Für weitere Einzelheiten siehe Handbuch „POSIX-Kommandos des C/C++-Compilers“ [1].

Dokumentation

Die Standard-C++-Bibliothek ist in der allgemeinen C++ Literatur beschrieben.