줘이리의 인생적기

08. [C++] 헤더가드 본문

공부/C++

08. [C++] 헤더가드

줘이리 2021. 9. 1. 23:00
728x90

헤더가드에 대해서 알아보겠습니다.

 

#pragma once

 

이것을 왜 ? 언제 ? 쓰는 걸까요?

 

헤더파일이 여러 개다 보면 include를 여러 번 쓰게 되는 경우가 있습니다.

헤더파일에 있는 함수들을 여러 번 선언하고 여러번 정의한거라 빌드에러가 발생합니다.

 

이때 같은 include를 여러번 써도 괜찮게 만들어 주는 것이 pragma once입니다.

 

몇 가지 경우의 수로 알아보겠습니다.

헤더파일 2개와 메인파일 1개로 경우의 수를 만들어보겠습니다.

 

빌드가 될지 생각하면서 내려가 보겠습니다.

빌드가 됩니다.

 

빌드가 됩니다.

 

빌드가 됩니다.

빌드 안됩니다.

 

빌드가 됩니다.

 

어느 정도 감이 잡히셨나요?

 

visual studio에서는 헤더파일을 만들면 자동으로 #pragma once가 입력이 되어 있으니

편하게 코딩하실 수 있습니다!