본문 바로가기

C++

[C++] 헤더 가드란?

반응형

헤더 가드는 사용자 정의 헤더 파일을 생성하면서 중복되는 함수의 사용을 방지해 주며, 두 가지 방법으로 사용할 수 있다.

1. #pragma once

visual studio에서 헤더 파일을 생성하게 되면 자동으로 입력되어 헤더 파일이 생성된다. 함수의 재 정의를 방지해 준다.

 

// add.h
#pragma once   // 헤더 가드

int add(int a, int b){
   return a + b;
}

 

2. ​#ifndef ~ #endif

 

#ifndef는 'if not define'으로써 만약 정의되어 있지 않으면, #define~#endif까지 정의해 준다. 반면, 정의되어 있다면 #define~#endif까지 정의하지 않는다.

 

// add.h
#ifndef ADD   // 만약 ADD가 정의되어 있지 않으면
#define ADD   // ADD를 정의한다. 정의는 #endif까지 한다.

// ADD 정의
int add(int a, int b){
   return a + b;
}

#endif
반응형

'C++' 카테고리의 다른 글

[C++] 변수 초기화  (0) 2021.09.22
[C++] 기본 자료형  (0) 2021.09.22
[C++] 소스/헤더 파일 만들기  (0) 2021.09.08
[C++] 함수의 선언 및 정의  (0) 2021.08.20
[C++] 지역 범위 (Local Scope)  (0) 2021.08.11