名前空間
変種
操作

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

[編集] 概要

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> で提供されていませんでした 提供された

[編集] 関連項目

English 日本語 中文(简体) 中文(繁體)