인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

한울님의 프로필 이미지
한울

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

파일 분할 관리

중첩현상 설명에서..

작성

·

185

0

Test1.h에 #include 등의 내용이 들어간 상태에서 cpp 파일에 Test1.h를 include를 하게 되면 중첩현상 발생 + 해당 cpp 파일의 작업량 증가가 일어난다고 설명해주셨는데

해당 cpp 파일에도 동일한 #include가 들어있다고 가정한 상태에서 이런 현상이 발생하는 것인가요, 만약 맞다면 cpp 파일 내에 #include가 아예 들어있지 않다면 중첩현상이나 작업량 증가는 발생하지 않게 되는 것인가요?

 

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

#include 는 단순하게 그냥 [해당 내용을 그대로 복붙하겠다]는 의미입니다.
cpp에도 동일한 파일에 대한 #include가 있다면,
동일한 내용이 두번 복붙되는 간단한 원리입니다.

대부분 헤더 파일에는 두번 처리되는걸 방지하는
#ifdef 라거나 #pragma once 등을 넣기 때문에 
어느 정도 완화는 되지만,
그래도 불필요한 헤더가 #include되지 않을때보단 당연히 느려지게 됩니다.

더 자세한 내용은 아래와 같이 자료를 찾아보시면 도움이 됩니다.

한울님의 프로필 이미지
한울

작성한 질문수

질문하기