들어가기에 앞서
# 은 컴파일러에게 명령을 하는 전처리기이다
include는 말 그대로 포함한다는 의미를 가진 예약어이다
이를 합쳐서 우리는
#include
~을 포함하라고 컴파일러에게 명령을 하는 것이다
문득
#include <> 와 #include "" 의 차이점도 궁금할 것이다
간략하게 말해보자면
시스템 경로에서 해당 헤더파일을 검색해서 포함하는 것이고,
현재 디렉토리에서 검색 후 포함, 없다면 시스템 경로를 검색한다
즉, 기본적으로 주어져 있는 헤더파일을 추가할 때는 인클루드 #include <>
개발자가 직접 만든 헤더파일을 추가할 때는 #include "" 을 쓴다.
우리가 아무생각 없이 추가한 헤더파일도 권장하는 순서가 있다
그것은 구글에서 권장하는 방법으로
https://google.github.io/styleguide/cppguide.html#Names_and_Order_of_Includes
Google C++ Style Guide
Google C++ Style Guide Background C++ is one of the main development languages used by many of Google's open-source projects. As every C++ programmer knows, the language has many powerful features, but this power brings with it complexity, which in turn ca
google.github.io
요약을 해보자면
cpp파일에서 include하는 순서는
첫번째
해당 cpp와 매칭되는 hpp를 가장 위에 선언 후 빈줄
(예를 들면 test.cpp 파일이라면 와 test.hpp를 말한다)
두번째
C system headers 및 확장자가 붙은 각괄호로 묶인 다른 헤더 선언 후 빈줄
(예를 들면 <unistd.h>, <stdlib.h> 을 말한다)
세번째
C++ standard library headers(파일 확장자가 없는)을 선언 후 빈줄
(예를 들면 <vector>, <string> 을 말한다)
네번째
다른 라이브러리에서 가져온 헤더 파일들을 선언 후 빈줄
마지막으로 내 프로젝트에서 생성한 헤더 파일을 순서대로 써주면 된다.
개인적으로 할 때는 신경 안 써도 되겠지만
취업 후 회사에서 팀 단위의 프로젝트를 진행 한다면 꼭 숙지하자
(안보는 사람이 많겠지만 보는 사람도 있다 크게 어려운게 아니니 이런 가이드에 따라 개발하는 습관을 들어두자)