728x90
728x90

bits/stdc++.h

 

  • C++의 표준 라이브러리가 모두 포함된 헤더이다.
  • 이 헤더를 사용하면 iostream, cstdio 등 여러 라이브러리에 들어있는 함수 등을 하나하나 신경 쓸 필요 없이 코딩에 집중할 수 있다.
  • 몇몇 코딩 테스트(삼성 코딩 테스트 등)에서는 이 헤더를 쓸 수 없고 공지에서 주어지는 라이브러리만을 써야 하기 때문에 주의해야 한다.

 

사용 방법

코드 복사하기

내용 보기
#ifndef _GLIBCXX_NO_ASSERT
#include <cassert>
#endif
#include <cctype>
#include <cerrno>
#include <cfloat>
#include <ciso646>
#include <climits>
#include <clocale>
#include <cmath>
#include <csetjmp>
#include <csignal>
#include <cstdarg>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#if __cplusplus >= 201103L
#include <ccomplex>
#include <cfenv>
#include <cinttypes>
#include <cstdbool>
#include <cstdint>
#include <ctgmath>
#include <cwchar>
#include <cwctype>
#endif
// C++
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>
#if __cplusplus >= 201103L
#include <array>
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <forward_list>
#include <future>
#include <initializer_list>
#include <mutex>
#include <random>
#include <ratio>
#include <regex>
#include <scoped_allocator>
#include <system_error>
#include <thread>
#include <tuple>
#include <typeindex>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#endif

 

폴더 및 헤더 파일 생성하기 & 코드 붙여넣기

  • include 폴더에 bits 폴더를 생성한 후, 이 안에 stdc++.h 헤더 파일을 생성하고 복사했던 내용을 붙여 넣어준다.
  • MinGW의 경우 C:\MinGW\include\bits 경로에 헤더 파일을 생성한 후, 내용을 추가해준다.
  • 에서 gcc를 설치했을 경우, 다음의 명령어를 입력하여 파일을 생성한 후, 내용을 추가해준다.
> cd /usr/local/include
> mkdir bits
> cd bits
> vi stdc++.h

 

사용하기

  • 헤더를 사용하고 싶을 경우, 다음과 같이 <bits/stdc++.h> 헤더를 불러와 사용해주면 된다.
  • 사용 예로, 다음과 같은 코드를 작성한 후 a.cpp 파일을 생성해본다.
#include <bits/stdc++.h>
using namespace std;
int main() {
cout << "Hello, World!" << endl;
return 0;
}

 

  • 다음의 명령어를 실행하여 a.cpp 파일을 컴파일 시켜 실행 파일로 만들 수 있다.
    • a.cpp 파일을 엄격하게(-Wall) C++14 버전으로 컴파일해서 test.out 이라는 파일을 만들라는 뜻이다.
> g++ -std=C++14 -Wall a.cpp -o test.out

 

(참고) 코딩 테스트를 준비할 때 필수적으로 알아야 할 라이브러리들

  • 각 라이브러리에 포함된 주요 함수를 알아보자.

① iostream

swap getline clear fill tie
precision sync_with_stdio cin cout stdio.h의 함수들
printf scanf puts    

 

② string.h

memcpy memset size_t    

 

③ algorithm

find swap fill remove unique
rotate shuffle sort stable_sort lower_bound
upper_bound min max min_element max_element
next_permutation prev_permutation      

 

728x90
728x90

bits/stdc++.h사용 방법코드 복사하기폴더 및 헤더 파일 생성하기 & 코드 붙여넣기사용하기(참고) 코딩 테스트를 준비할 때 필수적으로 알아야 할 라이브러리들① iostream② string.h③ algorithm