작성
·
72
0
그 전 강의에서 헤더파일을 중복으로 불러오면 에러가 난다고 배웠습니다.
하지만 이번 강의대로 분할 컴파일 하게 되면 헤더파일 stock.h와 main 함수에서 <iostream>을 두 번 포함하게 되는데 <iostream>은 사용자가 만든 헤더파일이 아니라서 중복으로 include해도 상관이 없는 것일까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 대한 답변은 다음과 같습니다.
C++에서 표준 라이브러리 헤더 파일(예: <iostream>
)을 여러 파일에서 include 하는 것은 일반적으로 문제가 되지 않습니다. 이 이유는 표준 헤더 파일 내에 이미 #ifndef
, #define
, #endif
지시어를 통한 include guard가 적용되어 있어서 중복으로 포함되더라도 실제로 한 번만 포함되도록 처리되기 때문입니다.
즉, 여러번 include 되어도 실제 컴파일 과정에서 한 번만 포함되어 처리되므로 <iostream>
과 같은 표준 라이브러리 헤더 파일을 중복으로 포함해도 에러가 발생하지 않는 것입니다.
사용자가 만든 헤더파일의 경우에도 같은 방식으로 include guard를 적용한다면 중복 포함으로 인한 문제를 방지할 수 있습니다.