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
(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 */ = void(); // только для демонстрации
  extern "C" using /* c-compare-pred */ =           // только для демонстрации
    int(const void*, const void*);
  extern "C++" using /* compare-pred */ =           // только для демонстрации
    int(const void*, const void*);
  // начало и завершение
  [[noreturn]] void abort() noexcept;                       // freestanding
  int atexit(/* c-atexit-handler */* func) noexcept;        // freestanding
  int atexit(/* обработчик atexit */* func) noexcept;          // freestanding
  int at_quick_exit(/* c-atexit-handler */* func) noexcept; // freestanding
  int at_quick_exit(/* обработчик atexit */* 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
  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);             // freestanding
  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> предоставлено

Смотрите также