인프런 커뮤니티 질문&답변
DirectX12 초기화 - 장치초기화 질문 있습니다.
작성
·
294
답변 1
0
Rookiss
지식공유자
C++에서 헤더 파일에서 다른 헤더 파일을 #include 하는 것은 가급적 피해야 하고
최대한 전방 선언을 사용해야 합니다.
상속 등을 사용해서 정말 해당 파일의 기능이 당장 필요할 때,
혹은 #include하는 대상이 아주 작을 경우라면 괜찮지만
그 기능이 필요하다고 #include를 헤더에서 신나게 추가하기 시작하면
나중에 구조가 수습이 안 되는 말이 발생합니다.
우선 #include에 순환이 생기는 문제가 있습니다.
A.h B.h가 있는데, A.h에서는 B.h를 #include하고,
B.h에서 A.h를 #include하면 그냥 컴파일이 되지 않습니다.
(내가 존재하려면 타인이 존재해야 하고, 그 타인이 존재하려면 내가 존재해야 한다 @_@???)
두번째로 .h에서 다른 .h를 #include하면 헤더 사이의 종속성이 생깁니다.
A.h가 B.h를 #Include하는 상황에서, B.h의 내용이 수정되면,
A.h를 #include하는 모~든 애들도 다시 컴파일 되어야 합니다.
작은 프로젝트라면 상관없을 수도 있지만
나중에 게임이 커지면 컴파일이 몇 분씩 걸릴 수도 있습니다.





