프로그래밍 언어/C++

#ifndef 및 #define이 C ++ 헤더 파일에서 사용되는 이유

Rateye 2021. 8. 4. 10:39
728x90
반응형
질문 : #ifndef 및 #define이 C ++ 헤더 파일에서 사용되는 이유는 무엇입니까?

나는 일반적으로 헤더 파일의 시작 부분에서 다음과 같은 코드를 보았습니다.

#ifndef HEADERFILE_H
#define HEADERFILE_H

그리고 파일의 끝에는

#endif

이것의 목적은 무엇입니까?

답변

이를 #include 가드 라고합니다.

헤더가 포함되면 고유 값 (이 경우 HEADERFILE_H )이 정의되었는지 확인합니다. 그런 다음 정의되지 않은 경우 정의하고 나머지 페이지로 계속합니다.

코드가 다시 포함되면 첫 번째 ifndef 가 실패하여 빈 파일이 생성됩니다.

이는 유형, 열거 형 및 정적 변수와 같은 식별자의 이중 선언을 방지합니다.

출처 : https://stackoverflow.com/questions/1653958/why-are-ifndef-and-define-used-in-c-header-files
728x90
반응형