Standard library header <cstdlib>
From cppreference.net
Этот заголовок изначально находился в стандартной библиотеке 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 = /* см. описание */; // 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>
|
предоставлено |