Standard library header <cstdlib>
From cppreference.net
该头文件最初作为 <stdlib.h> 存在于C标准库中。
此头文件提供多种实用工具。此处定义的符号被多个库组件所使用。
类型 |
||
|
结构体类型,由
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
时要调用的函数
(函数) |
|
|
调用主机环境的命令处理器
(函数) |
||
|
访问环境变量列表
(函数) |
||
内存管理 |
||
|
分配内存
(函数) |
||
|
<a href="../memory
|
||
概要
namespace std { using size_t = /* 见描述 */; // 独立实现 using div_t = /* 见描述 */; // 独立实现 using ldiv_t = /* 见描述 */; // 独立实现 using lldiv_t = /* 见描述 */; // 独立实现 } #define NULL /* 见描述 */ // 独立实现 #define EXIT_FAILURE /* 见描述 */ // 独立实现 #define EXIT_SUCCESS /* 见描述 */ // 独立实现 #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]] void abort() noexcept; // 独立实现 int atexit(/* c-atexit-handler */* func) noexcept; // 独立实现 int atexit(/* atexit-handler */* func) noexcept; // 独立实现 int at_quick_exit(/* c-atexit-handler */* func) noexcept; // 独立实现 int at_quick_exit(/* atexit-handler */* func) noexcept; // 独立实现 [[noreturn]] void exit(int status); // 独立实现 [[noreturn]] void _Exit(int status) noexcept; // 独立实现 [[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
缺陷报告
下列行为变更缺陷报告被追溯应用于先前发布的C++标准。
| 问题报告 | 适用标准 | 发布时行为 | 正确行为 |
|---|---|---|---|
| LWG 286 | C++98 |
未在
<cstdlib>
中提供
size_t
的定义
|
已提供 |