코드를 작성할 때, 헤더 파일이 여러 번 포함되면 중복 선언으로 인해 컴파일 속도 저하와 오류가 발생할 수 있습니다.
이를 방지하기 위해 두 가지 방법이 일반적으로 사용됩니다.
Include Guard
헤더 파일이 여러 번 포함되더라도 한 번만 컴파일되도록 하는 방법으로 #define문을 사용합니다.
#ifndef HEADER_H
#define HEADER_H
// 코드 (Code...)
#endif
코드 해석
- 만약 HEADER_H가 정의되어 있지 않다면,
- HEADER_H를 정의하여 아래 코드 중복을 방지한다.
지시자 - #pragma once
#define보다 간결한 방법으로 중복 선언을 하지 않도록 처리하는 효과는 동일합니다.
#pragma once
// 코드 (code...)
두 방법 모두 헤더 중복을 방지하는 데 효과적이며, 일부 개발자는 두 가지 방법을 혼합하여 사용하기도 합니다.
#pragma once는 더 직관적인 방식이지만, 모든 환경에서 완벽하게 동작하는 것은 아니므로 Include Guard를 함께 사용하는 경우도 있습니다.
'IT 개발 노트 > PROGRAMMING' 카테고리의 다른 글
리팩토링할 때 알아두면 좋은 정보 (1) | 2025.01.24 |
---|---|
[Debug] 원격 디버깅 (0) | 2024.12.18 |
[C++] std::shared_ptr (0) | 2024.12.10 |
[C++] unix_timestamp 값을 날짜와 시간으로 변경하기 (0) | 2024.12.09 |
[visual studio] SSDT (SQL Server Data Tools) (1) | 2024.11.29 |