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 가 생성할 수 있는 최대값
(매크로 상수)

함수

프로세스 제어
비정상적인 프로그램 종료를 유발합니다 (정리 작업 없이)
(함수)
정상적인 프로그램 종료를 수행하며 정리 작업을 실행합니다
(function)
(C++11)
완전한 정리 작업 없이 프로그램을 빠르게 종료시킴
(함수)
(C++11)
정상적인 프로그램 종료를 유발하며 정리 작업 없이 종료
(함수)
std::exit() 호출 시 실행될 함수를 등록합니다
(함수)
std::quick_exit 호출 시 실행될 함수를 등록합니다
(함수)
호스트 환경의 명령어 프로세서를 호출합니다
(함수)
환경 변수 목록에 접근
(함수)
메모리 관리
메모리 할당
(함수)
정렬된 메모리를 할당합니다
(함수)
메모리를 할당하고 0으로 초기화
(함수)
이전에 할당된 메모리 블록을 확장하거나 축소합니다
(함수)
이전에 할당된 메모리를 해제합니다
(함수)
숫자 문자열 변환
바이트 문자열을 부동 소수점 값으로 변환
(함수)
바이트 문자열을 정수 값으로 변환
(함수)
바이트 문자열을 정수 값으로 변환
(함수)
바이트 문자열을 부호 없는 정수 값으로 변환
(함수)
바이트 문자열을 부동 소수점 값으로 변환합니다
(함수)
와이드 문자열 조작
다음 멀티바이트 문자에 포함된 바이트 수를 반환합니다
(함수)
다음 멀티바이트 문자를 와이드 문자로 변환
(함수)
와이드 문자를 멀티바이트 표현으로 변환합니다
(함수)
좁은 멀티바이트 문자열을 와이드 문자열로 변환합니다
(함수)
와이드 문자열을 좁은 멀티바이트 문자 문자열로 변환
(함수)
기타 알고리즘 및 수학
의사 난수를 생성함
(함수)
의사 난수 생성기 시드 설정
(함수)
지정되지 않은 타입의 요소 범위를 정렬합니다
(함수)
지정되지 않은 타입의 요소를 배열에서 검색합니다
(함수)
정수 값의 절대값을 계산합니다 ( |x| )
(함수)
정수 나눗셈의 몫과 나머지를 계산합니다
(함수)

시놉시스

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 의 정의가 제공되지 않았음 제공됨

참고 항목