ⓟrogramming/C++
C++ 에서의 헤더 파일의 선언
뚱땡이 우주인
2011. 2. 21. 19:43
그동안 모르고 써왔던 C++에서의 표준 헤더 파일의 선언... 이런 뜻이 있더군요..
대부분 C에서 보면 standard library를 include 하기 위해서는 아래와 같이 사용을 합니다.
#include "stdio.h"
여기서 보면 확장자 h가 붙은 걸 확인 할 수 있습니다.
근데 신기하게 C++에서는
#incude <iostream>
와 같이 확장자가 명시가 안되어 있는 예제가 있습니다.
처음에는 그려려니 했는데 다시 기본 문법 책을 참고 하면서 이런 내용이 있네요
"C++에서는 프로그래머가 정의하는 헤더파일의 선언이 아닌, 표준 헤더파일의 선언에서는 확장자를 생략하기로 약속되어 있다." - 윤성우 C++ 개정판 15page
모 C 스타일로 <iostream.h> 라고 해도 되긴 하지만 C++ 컴파일러가 점차 <iostream.h>을 지원하지 않는 추세로 접어들었다고 합니다.
이렇게 확장자를 생략하기로 한 목적은
1. 과거의 표준 라이브러리와 새로운 라이브러리의 구분을 위해서...
2. 새로운 표준 라이브러리를 사용하는 형태로 소스코드를 쉽게 변경할 수 있도록...
하기 위한 목적이 있다는 군요
결국 표준인 만큼 C++에서는 h를 명시 하지 말라는 내용입니다.
출처 : 윤성우 저 열혈강의 C++ 프로그래밍 (개정판