Standard library header <cstdlib>
From cppreference.net
このヘッダーは元々C標準ライブラリに <stdlib.h> として存在していました。
このヘッダーは様々なユーティリティを提供します。ここで定義されるシンボルは、いくつかのライブラリコンポーネントで使用されます。
型 |
||
|
std::div
によって返される構造体型
(typedef) |
||
|
std::ldiv
によって返される構造体型
(typedef) |
||
|
(C++11)
|
std::lldivによって返される構造体型
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 = /* 説明を参照 */; // freestanding using div_t = /* 説明を参照 */; // freestanding using ldiv_t = /* 説明を参照 */; // freestanding using lldiv_t = /* 説明を参照 */; // freestanding } #define NULL /* 説明を参照 */ // freestanding #define EXIT_FAILURE /* 説明を参照 */ // freestanding #define EXIT_SUCCESS /* 説明を参照 */ // freestanding #define RAND_MAX /* 詳細は説明を参照 */ #define MB_CUR_MAX /* 説明を参照 */ namespace std { // 説明専用の関数型エイリアス extern "C" using /* c-atexit-handler */ = void(); // 説明専用 extern "C++" using /* atexit-handler */ = void(); // 説明専用 extern "C" using /* c-compare-pred */ = // 説明専用 int(const void*, const void*); extern "C++" using /* compare-pred */ = // 説明専用 int(const void*, const void*); // 開始と終了 [[noreturn] (注:元のテキストが単一の閉じ角括弧のみであるため、HTMLタグを保持したまま、内容を日本語に翻訳する必要はありません。指定された条件に従い、この記号はそのまま維持されます。)] 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); // フリースタンディング [[noreturn]] void _Exit(int status) noexcept; // freestanding [[noreturn]] void quick_exit(int status) noexcept; // フリースタンディング char* getenv(const char* name); int system(const char* string); // Cライブラリメモリ割り当て 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); // マルチバイト/ワイド文字列と文字変換関数 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標準ライブラリアルゴリズム 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); // 低品質な乱数生成 int rand(); void srand(unsigned int seed); // 絶対値 constexpr int abs(int j); // freestanding constexpr long int abs(long int j); // フリースタンディング constexpr long long int abs(long long int j); // freestanding constexpr /* 浮動小数点型 */ abs(/* 浮動小数点型 */ 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>
で提供されていなかった
|
提供される |