標準ライブラリヘッダー <cstdlib>
From cppreference.com
このヘッダーは元々C標準ライブラリの <stdlib.h> でした。
このヘッダーは様々なユーティリティを提供します。ここで定義されているシンボルは、いくつかのライブラリコンポーネントによって使用されます。
型 | ||
| std::div が返す構造体型 (typedef) | ||
| std::ldiv が返す構造体型 (typedef) | ||
| (C++11) |
std::lldiv が返す構造体型 (typedef) | |
| sizeof 演算子が返す符号無し整数型 (typedef) | ||
マクロ定数 | ||
| プログラムの実行ステータスを示す (マクロ定数) | ||
| MB_CUR_MAX |
現在のロケールにおけるマルチバイト文字の最大バイト数 (マクロ定数) | |
| 処理系定義のヌルポインタ定数 (マクロ定数) | ||
| std::randによって生成される最大値 (マクロ定数) | ||
関数 | ||
プロセス制御 | ||
| (クリーンアップせずに)異常なプログラム終了を引き起こす (関数) | ||
| クリーンアップを伴う通常のプログラム終了を引き起こす (関数) | ||
| (C++11) |
完全なクリーンアップを行わずに、高速なプログラム終了を引き起こす (関数) | |
| (C++11) |
クリーンアップせずに、通常のプログラム終了を引き起こす (関数) | |
| std::exit() の呼び出し時に呼ばれる関数を登録する (関数) | ||
| (C++11) |
std::quick_exit の呼び出し時に呼ばれる関数を登録する (関数) | |
| ホスト環境のコマンドプロセッサを呼び出す (関数) | ||
| 環境変数のリストにアクセスする (関数) | ||
メモリ管理 | ||
| メモリを割り当てる (関数) | ||
| (C++17) |
アラインされたメモリを割り当てる (関数) | |
| メモリを割り当ててゼロ初期化する (関数) | ||
| 以前に割り当てられたメモリブロックを拡張または縮小する (関数) | ||
| 以前に割り当てられたメモリを解放する (関数) | ||
数値文字列変換 | ||
| バイト文字列を浮動小数点値に変換する (関数) | ||
| (C++11) |
バイト文字列を整数値に変換する (関数) | |
| (C++11) |
バイト文字列を整数値に変換する (関数) | |
| (C++11) |
バイト文字列を符号なし整数値に変換する (関数) | |
| バイト文字列を浮動小数点値に変換する (関数) | ||
ワイド文字列操作 | ||
| 次のマルチバイト文字のバイト数を返す (関数) | ||
| 次のマルチバイト文字をワイド文字に変換する (関数) | ||
| ワイド文字をそのマルチバイト表現に変換する (関数) | ||
| ナローマルチバイト文字列をワイド文字列に変換する (関数) | ||
| ワイド文字列をナローマルチバイト文字列に変換する (関数) | ||
その他のアルゴリズムと数学 | ||
| 擬似乱数を生成する (関数) | ||
| 擬似乱数生成器にシードを設定する (関数) | ||
| 型が指定されていない要素の範囲をソートする (関数) | ||
| 型が指定されていない要素を配列から検索する (関数) | ||
| (C++11) |
整数値の絶対値を計算する (|x|) (関数) | |
| (C++11) |
整数の除算における商と剰余を計算する (関数) | |
[編集] 概要
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 }
[編集] 欠陥報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 286 | C++98 | size_t の定義は <cstdlib> で提供されていませんでした |
提供された |