C++
[C++] 헤더 가드란?
sweetnew
2021. 9. 10. 20:13
반응형
헤더 가드는 사용자 정의 헤더 파일을 생성하면서 중복되는 함수의 사용을 방지해 주며, 두 가지 방법으로 사용할 수 있다.
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
반응형