Namespaces
Variants

Standard library header <cstdlib>

From cppreference.net
Standard library headers

このヘッダーは元々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() の呼び出し時に実行される関数を登録する
(関数)
std::quick_exit の呼び出し時に実行される関数を登録する
(関数)
ホスト環境のコマンドプロセッサを呼び出す
(関数)
環境変数リストへのアクセス
(関数)
メモリ管理
メモリを割り当てる
(関数)
アライメントされたメモリを割り当てる
(関数)
メモリを割り当ててゼロ初期化する
(関数)
以前に割り当てられたメモリブロックを拡張または縮小します
(関数)
以前に割り当てられたメモリを解放する
(関数)
数値文字列変換
バイト文字列を浮動小数点値に変換する
(関数)
バイト文字列を整数値に変換する
(関数)
バイト文字列を整数値に変換する
(関数)
バイト文字列を符号なし整数値に変換する
(関数)
バイト文字列を浮動小数点値に変換します
(関数)
ワイド文字列操作
次のマルチバイト文字のバイト数を返す
(関数)
次のマルチバイト文字をワイド文字に変換する
(関数)
ワイド文字をマルチバイト表現に変換する
(関数)
ナローマルチバイト文字列をワイド文字列に変換する
(関数)
ワイド文字列をナローマルチバイト文字列に変換する
(関数)
その他のアルゴリズムと数学
擬似乱数を生成する
(関数)
擬似乱数生成器をシードする
(関数)
未指定の型の要素範囲をソートする
(関数)
指定されていない型の要素を配列から検索します
(関数)
整数値の絶対値を計算する ( |x| )
(関数)
整数除算の商と余りを計算する
(関数)

概要

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> で提供されていなかった 提供される

関連項目