반응형
컴파일시에 C++의 #include는 해당 헤더의 내용이 복사되어 들어오게 된다.
이 때, 같은 내용의 헤더가 두 번 이상 복사될 수 있는데, 이것을 막아주는 게 #pragma once와
#ifndef ~ #endif이다.
차이점은 다음과 같다.
#pragma once는 컴파일 동안 단 한 번만 처리를 하므로 더 빠른 컴파일이 가능해진다.
단, 일부 구형 컴파일러에서는 지원이 안 되는 경우도 있다.
#ifndef는 if not defined의 약자이다. 정의하지 않았다면 #define 부터 #endif 까지의 코드를 include 한다.
#ifndef EXAMPLE_H
#define EXAMPLE_H
#endif
반응형
'언어 > C++' 카테고리의 다른 글
[C++] Inner Class (중첩 클래스, Nested Class) (0) | 2022.01.06 |
---|---|
[C++] Iterator (0) | 2021.12.30 |
[C++] shared_ptr 직접 구현해보기 (0) | 2021.12.16 |
[C++] 스마트 포인터 (0) | 2021.12.15 |
[C++] string 클래스 정리 (0) | 2021.12.09 |