카테고리 없음

#include header 작성법

지창준 2024. 9. 10. 10:23

들어가기에 앞서

# 은 컴파일러에게 명령을 하는 전처리기이다

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> 을 말한다)

 

네번째
다른 라이브러리에서 가져온 헤더 파일들을 선언 후 빈줄

 

마지막으로 내 프로젝트에서 생성한 헤더 파일을 순서대로 써주면 된다.

 

 

 

개인적으로 할 때는 신경 안 써도 되겠지만

취업 후 회사에서 팀 단위의 프로젝트를 진행 한다면 꼭 숙지하자

(안보는 사람이 많겠지만 보는 사람도 있다 크게 어려운게 아니니 이런 가이드에 따라  개발하는 습관을 들어두자)