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
가 생성할 수 있는 최대값
(매크로 상수) |
||
함수 |
||
프로세스 제어 |
||
|
비정상적인 프로그램 종료를 유발합니다 (정리 작업 없이)
(함수) |
||
|
정상적인 프로그램 종료를 수행하며 정리 작업을 실행합니다
(function) |
||
|
(C++11)
|
완전한 정리 작업 없이 프로그램을 빠르게 종료시킴
(함수) |
|
|
(C++11)
|
정상적인 프로그램 종료를 유발하며 정리 작업 없이 종료
(함수) |
|
|
std::exit()
호출 시 실행될 함수를 등록합니다
(함수) |
||
|
(C++11)
|
std::quick_exit
호출 시 실행될 함수를 등록합니다
(함수) |
|
|
호스트 환경의 명령어 프로세서를 호출합니다
(함수) |
||
|
환경 변수 목록에 접근
(함수) |
||
메모리 관리 |
||
|
메모리 할당
(함수) |
||
|
(C++17)
|
정렬된 메모리를 할당합니다
(함수) |
|
|
메모리를 할당하고 0으로 초기화
(함수) |
||
|
이전에 할당된 메모리 블록을 확장하거나 축소합니다
(함수) |
||
|
이전에 할당된 메모리를 해제합니다
(함수) |
||
숫자 문자열 변환 |
||
|
바이트 문자열을 부동 소수점 값으로 변환
(함수) |
||
|
(C++11)
|
바이트 문자열을 정수 값으로 변환
(함수) |
|
|
(C++11)
|
바이트 문자열을 정수 값으로 변환
(함수) |
|
|
(C++11)
|
바이트 문자열을 부호 없는 정수 값으로 변환
(함수) |
|
|
바이트 문자열을 부동 소수점 값으로 변환합니다
(함수) |
||
와이드 문자열 조작 |
||
|
다음 멀티바이트 문자에 포함된 바이트 수를 반환합니다
(함수) |
||
|
다음 멀티바이트 문자를 와이드 문자로 변환
(함수) |
||
|
와이드 문자를 멀티바이트 표현으로 변환합니다
(함수) |
||
|
좁은 멀티바이트 문자열을 와이드 문자열로 변환합니다
(함수) |
||
|
와이드 문자열을 좁은 멀티바이트 문자 문자열로 변환
(함수) |
||
기타 알고리즘 및 수학 |
||
|
의사 난수를 생성함
(함수) |
||
|
의사 난수 생성기 시드 설정
(함수) |
||
|
지정되지 않은 타입의 요소 범위를 정렬합니다
(함수) |
||
|
지정되지 않은 타입의 요소를 배열에서 검색합니다
(함수) |
||
|
(C++11)
|
정수 값의 절대값을 계산합니다 (
|x|
)
(함수) |
|
|
(C++11)
|
정수 나눗셈의 몫과 나머지를 계산합니다
(함수) |
|
시놉시스
namespace std { using size_t = /* 설명 참조 */; // 독립 실행 환경 using div_t = /* 설명 참조 */; // 독립 실행 환경 using ldiv_t = /* 설명 참조 */; // freestanding using lldiv_t = /* 설명 참조 */; // 독립 실행 환경 } #define NULL /* 설명 참조 */ // freestanding #define EXIT_FAILURE /* 설명 참조 */ // freestanding #define EXIT_SUCCESS /* 설명 참조 */ // freestanding #define RAND_MAX /* 설명 참조 */ #define MB_CUR_MAX /* 설명 참조 */ namespace std { // Exposition-only function type aliases 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 /* 비교-조건자 */ = // 설명 전용 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; // freestanding int at_quick_exit(/* atexit-handler */* func) noexcept; // 독립 실행 환경 [[noreturn]] void exit(int status); // freestanding [[noreturn]] void _Exit(int status) noexcept; // 독립 실행 환경 [[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, // 독립 실행 환경 size_t nmemb, size_t size, /* 비교-조건자 */* 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, // 독립 실행 환경 /* 비교-조건자 */* 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); // 독립 실행 환경 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 |
<cstdlib>
에서
size_t
의 정의가 제공되지 않았음
|
제공됨 |