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