C++에서 iostream과 iostream.h의 차이점
이 글에서는 C++ 프로그래밍에서 자주 혼동되는 두 헤더 파일, iostream과 iostream.h의 차이점을 자세히 살펴보겠습니다. 이름은 비슷하지만 이 둘은 서로 다른 시대와 배경에서 만들어진 파일입니다.
iostream.h란?
iostream.h는 1990년대 초반에 사용되던 입출력(I/O) 스트림 라이브러리의 헤더 파일입니다. AT&T에서 초기 C++ 컴파일러와 함께 사용할 목적으로 개발되었으며, 당시 C++ 언어는 아직 국제 표준으로 확정되지 않은 상태였습니다.
iostream이란?
iostream은 C++ 표준 라이브러리에서 사용하는 공식 헤더 파일로, 1998년 처음 발표된 C++ 표준(ISO/IEC 14882)에 포함되었습니다. 이 헤더 파일은 cin, cout, cerr 등 표준 입출력 스트림에 접근할 수 있게 해주며, 모든 요소가 std 네임스페이스 안에 정의되어 있다는 점이 특징입니다.
핵심 차이점 정리
흥미롭게도 "iostream.h"를 언급한 C++ 표준 문서는 단 한 번도 존재한 적이 없습니다. 다만 1990년에 출간된 Annotated C++ Reference Manual과 같은 표준화 이전의 참고 문헌에서는 해당 헤더 파일이 실제로 사용되었습니다.
정리하면 다음과 같습니다.
- iostream.h: 표준화 이전의 비공식 헤더 파일로, 현대 컴파일러에서는 더 이상 지원되지 않습니다.
- iostream: C++ 표준 위원회가 승인한 공식 헤더 파일로,
std네임스페이스를 사용하며 모든 최신 컴파일러에서 지원됩니다.
따라서 현재 C++ 코드를 작성할 때는 반드시 #include <iostream>을 사용하고, 필요에 따라 using namespace std; 또는 std:: 접두사를 활용하는 것이 올바른 방법입니다.