작성
·
185
0
Test1.h에 #include 등의 내용이 들어간 상태에서 cpp 파일에 Test1.h를 include를 하게 되면 중첩현상 발생 + 해당 cpp 파일의 작업량 증가가 일어난다고 설명해주셨는데
해당 cpp 파일에도 동일한 #include가 들어있다고 가정한 상태에서 이런 현상이 발생하는 것인가요, 만약 맞다면 cpp 파일 내에 #include가 아예 들어있지 않다면 중첩현상이나 작업량 증가는 발생하지 않게 되는 것인가요?
답변 1
0
#include 는 단순하게 그냥 [해당 내용을 그대로 복붙하겠다]는 의미입니다.
cpp에도 동일한 파일에 대한 #include가 있다면,
동일한 내용이 두번 복붙되는 간단한 원리입니다.
대부분 헤더 파일에는 두번 처리되는걸 방지하는
#ifdef 라거나 #pragma once 등을 넣기 때문에
어느 정도 완화는 되지만,
그래도 불필요한 헤더가 #include되지 않을때보단 당연히 느려지게 됩니다.
더 자세한 내용은 아래와 같이 자료를 찾아보시면 도움이 됩니다.