초반에는 A라는 함수가 어떤 헤더파일에 정의되어있는지 공부하는 것은 중요하지만, 백준문제를 풀다보면 필요한게 있을 때마다 헤더파일을 include하는게 여간 귀찮은게 아니다. 그래서인지 자주 쓰는 헤더파일을 기본적으로 include한 stdc++.h 헤더파일이 gcc계열의 컴파일러는 표준 라이브러리에 bits라는 디렉터리에 기본적으로 존재한다(visual studio에는 없음. 사용자가 직접 헤더파일을 넣어야 함).
그래서 이 헤더파일에는 무엇이 들어있는가 궁금할텐데, 파일 내용은 다음과 같다(필자가 가지고 있는 파일임).
// C
#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 <cstdalign>
#include <cstdbool>
#include <cstdint>
#include <ctgmath>
#include <cuchar>
#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 <codecvt>
#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
#if __cplusplus >= 201402L
#include <shared_mutex>
#endif
진짜 우리가 백준문제를 풀면서 쓰는 헤더파일은 어지간해서 다 들어있다. 게다가 필자는 WSL2를 통해 gcc와 g++로 문제를 풀기 때문에, 정말 유용하게 쓰고 있다.
vs에서 이 헤더파일을 쓰기 위한 방법은 다른분의 글을 통해 알아보자.
https://miniolife.tistory.com/11
Visual Studio에서 <bits/stdc++.h> 사용하기
처음에 알고리즘 문제를 풀다보면 귀찮?까다로운? 점이 include일 것이다. 어떤 헤더 파일에 어떤 함수가 들어있는지도 익숙하지 않고, 컴파일러는 include를 하라고 오류를 뱉어댄다. 어느 헤더 파
miniolife.tistory.com