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

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

정민지님의 프로필 이미지
정민지

작성한 질문수

[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문

추상화와 클래스

#include <iostream> 중복

작성

·

72

0

그 전 강의에서 헤더파일을 중복으로 불러오면 에러가 난다고 배웠습니다.

하지만 이번 강의대로 분할 컴파일 하게 되면 헤더파일 stock.h와 main 함수에서 <iostream>을 두 번 포함하게 되는데 <iostream>은 사용자가 만든 헤더파일이 아니라서 중복으로 include해도 상관이 없는 것일까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 대한 답변은 다음과 같습니다.

C++에서 표준 라이브러리 헤더 파일(예: <iostream>)을 여러 파일에서 include 하는 것은 일반적으로 문제가 되지 않습니다. 이 이유는 표준 헤더 파일 내에 이미 #ifndef, #define, #endif 지시어를 통한 include guard가 적용되어 있어서 중복으로 포함되더라도 실제로 한 번만 포함되도록 처리되기 때문입니다.

즉, 여러번 include 되어도 실제 컴파일 과정에서 한 번만 포함되어 처리되므로 <iostream>과 같은 표준 라이브러리 헤더 파일을 중복으로 포함해도 에러가 발생하지 않는 것입니다.

사용자가 만든 헤더파일의 경우에도 같은 방식으로 include guard를 적용한다면 중복 포함으로 인한 문제를 방지할 수 있습니다.

정민지님의 프로필 이미지
정민지

작성한 질문수

질문하기