Standardbibliothek Header <cstdlib>
Von cppreference.com
Dieser Header stammte ursprünglich aus der C-Standardbibliothek als <stdlib.h>.
Dieser Header stellt verschiedene Dienstprogramme zur Verfügung. Hier definierte Symbole werden von mehreren Bibliothekskomponenten verwendet.
Typen | ||
| Strukturtyp, zurückgegeben von std::div (typedef) | ||
| Strukturtyp, zurückgegeben von std::ldiv (typedef) | ||
| (C++11) |
Strukturtyp, zurückgegeben von std::lldiv (typedef) | |
| nicht vorzeichenbehafteter Ganzzahltyp, der vom sizeof-Operator zurückgegeben wird (typedef) | ||
Makrokonstanten | ||
| zeigt den Status der Programmausführung an (macro constant) | ||
| MB_CUR_MAX |
maximale Anzahl von Bytes in einem Multibyte-Zeichen bei der aktuellen Locale (macro constant) | |
| implementierungsdefinierte Nullzeigerkonstante (macro constant) | ||
| maximal möglicher Wert, der von std::rand generiert wird (Makrokonstante) | ||
Funktionen | ||
Prozesssteuerung | ||
| verursacht abnormalen Programmabbruch (ohne Bereinigung) (funktion) | ||
| verursacht normalen Programmabbruch mit Bereinigung (funktion) | ||
| (C++11) |
verursacht schnellen Programmabbruch ohne vollständige Bereinigung (funktion) | |
| (C++11) |
verursacht normalen Programmabbruch ohne Bereinigung (funktion) | |
| registriert eine Funktion, die bei Aufruf von std::exit() aufgerufen wird (funktion) | ||
| (C++11) |
registriert eine Funktion, die bei Aufruf von std::quick_exit aufgerufen wird (funktion) | |
| ruft den Kommandozeileninterpreter der Host-Umgebung auf (function) | ||
| Zugriff auf die Liste der Umgebungsvariablen (function) | ||
Speicherverwaltung | ||
| alloziert Speicher (function) | ||
| (C++17) |
alloziert ausgerichteten Speicher (function) | |
| alloziert und nullt Speicher (function) | ||
| erweitert oder verkleinert einen zuvor zugewiesenen Speicherblock (function) | ||
| dealloziert zuvor allozierten Speicher (function) | ||
Numerische String-Konvertierung | ||
| konvertiert einen Byte-String in einen Gleitkommawert (Funktion) | ||
| (C++11) |
konvertiert einen Byte-String in einen Ganzzahlwert (Funktion) | |
| (C++11) |
konvertiert einen Byte-String in einen Ganzzahlwert (Funktion) | |
| (C++11) |
konvertiert einen Byte-String in einen vorzeichenlosen Ganzzahlwert (Funktion) | |
| konvertiert einen Byte-String in einen Gleitkommawert (Funktion) | ||
Manipulation von Wide-Strings | ||
| gibt die Anzahl der Bytes im nächsten Multibyte-Zeichen zurück (Funktion) | ||
| konvertiert das nächste Multibyte-Zeichen in ein Wide-Zeichen (Funktion) | ||
| konvertiert ein Wide-Zeichen in seine Multibyte-Darstellung (Funktion) | ||
| konvertiert einen schmalen Multibyte-Zeichenstring in einen Wide-String (Funktion) | ||
| konvertiert einen Wide-String in einen schmalen Multibyte-Zeichenstring (Funktion) | ||
Verschiedene Algorithmen und Mathematik | ||
| generiert eine Pseudozufallszahl (Funktion) | ||
| initialisiert Pseudozufallszahlengenerator (Funktion) | ||
| sortiert einen Bereich von Elementen unbekannten Typs (Funktion) | ||
| sucht ein Array nach einem Element unbekannten Typs ab (Funktion) | ||
| (C++11) |
berechnet den Absolutwert eines ganzzahligen Wertes (|x|) (Funktion) | |
| (C++11) |
berechnet Quotient und Rest der ganzzahligen Division (Funktion) | |
[edit] Synopsis
namespace std { using size_t = /* see description */; // freestanding using div_t = /* see description */; // freestanding using ldiv_t = /* see description */; // freestanding using lldiv_t = /* see description */; // freestanding } #define NULL /* see description */ // freestanding #define EXIT_FAILURE /* see description */ // freestanding #define EXIT_SUCCESS /* see description */ // freestanding #define RAND_MAX /* see description */ #define MB_CUR_MAX /* see description */ namespace std { // Exposition-only function type aliases extern "C" using /* c-atexit-handler */ = void(); // exposition only extern "C++" using /* atexit-handler */ = void(); // exposition only extern "C" using /* c-compare-pred */ = // exposition only int(const void*, const void*); extern "C++" using /* compare-pred */ = // exposition only int(const void*, const void*); // start and termination [[noreturn]] void abort() noexcept; // freestanding int atexit(/* c-atexit-handler */* func) noexcept; // freestanding int atexit(/* atexit-handler */* func) noexcept; // freestanding int at_quick_exit(/* c-atexit-handler */* func) noexcept; // freestanding int at_quick_exit(/* atexit-handler */* func) noexcept; // freestanding [[noreturn]] void exit(int status); // freestanding [[noreturn]] void _Exit(int status) noexcept; // freestanding [[noreturn]] void quick_exit(int status) noexcept; // freestanding char* getenv(const char* name); int system(const char* string); // C library memory allocation void* aligned_alloc(size_t alignment, size_t size); void* calloc(size_t nmemb, size_t size); void free(void* ptr); void* malloc(size_t size); void* realloc(void* ptr, size_t size); double atof(const char* nptr); int atoi(const char* nptr); long int atol(const char* nptr); long long int atoll(const char* nptr); double strtod(const char* nptr, char** endptr); float strtof(const char* nptr, char** endptr); long double strtold(const char* nptr, char** endptr); long int strtol(const char* nptr, char** endptr, int base); long long int strtoll(const char* nptr, char** endptr, int base); unsigned long int strtoul(const char* nptr, char** endptr, int base); unsigned long long int strtoull(const char* nptr, char** endptr, int base); // multibyte / wide string and character conversion functions int mblen(const char* s, size_t n); int mbtowc(wchar_t* pwc, const char* s, size_t n); int wctomb(char* s, wchar_t wchar); size_t mbstowcs(wchar_t* pwcs, const char* s, size_t n); size_t wcstombs(char* s, const wchar_t* pwcs, size_t n); // C standard library algorithms void* bsearch(const void* key, const void* base, // freestanding size_t nmemb, size_t size, /* c-compare-pred */* compar); void* bsearch(const void* key, const void* base, // freestanding size_t nmemb, size_t size, /* compare-pred */* compar); void qsort(void* base, size_t nmemb, size_t size, // freestanding /* c-compare-pred */* compar); void qsort(void* base, size_t nmemb, size_t size, // freestanding /* compare-pred */* compar); // low-quality random number generation int rand(); void srand(unsigned int seed); // absolute values constexpr int abs(int j); // freestanding constexpr long int abs(long int j); // freestanding constexpr long long int abs(long long int j); // freestanding constexpr /* floating-point-type */ abs(/* floating-point-type */ j); // freestanding-deleted constexpr long int labs(long int j); // freestanding constexpr long long int llabs(long long int j); // freestanding constexpr div_t div(int numer, int denom); // freestanding constexpr ldiv_t div(long int numer, long int denom); // freestanding constexpr lldiv_t div(long long int numer, long long int denom); // freestanding constexpr ldiv_t ldiv(long int numer, long int denom); // freestanding constexpr lldiv_t lldiv(long long int numer, long long int denom); // freestanding }
[edit] Defect reports
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 286 | C++98 | die Definition von size_t war nicht in <cstdlib> vorhanden |
bereitgestellt |