- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[C/C++] #include <iostream>(신버전) VS #include <iostream.h>(구버전) 본문
[C/C++] #include <iostream>(신버전) VS #include <iostream.h>(구버전)
드럼치는한동이 2009. 9. 29. 01:44#include <iostream> // 신버전
// using std::cout;
// using std::cin;
// using std::endl;
int main(void)
{
std::cout<<"Hello World!!"<<std::endl;
// cout<<"Hello World!!"<<endl; // using std::cout 주석을 풀어주면 std::를 빼고도 가능.
return 0;
}
============================================================
#include <iostream.h> // 구버전(std:: 필요없음)
int main(void)
{
cout<<"Hello World!!"<<endl;
return 0;
}
=======================================================================
C++의 표준이 계속해서 바뀌어 간다는 것입니다.
예전의 C++ 컴파일러들은 모두 .h를 붙였고 이것이 당연했습니다만 최근에 C++에는 예전에는 없던
namespace, STL, exception, template 등 많은 것들이 추가 되었습니다. 이로 인해 불가피하게 기본적으로
C++에서 사용되던 runtime library들이 위의 새로운 기능과 호환되도록 새로 작성되었습니다.
그러다 보니 예전의 .h가 붙은 헤더파일들과 구분해야 할 필요성이 생긴 것입니다. 예전 헤더파일들과도
호환성을 유지해야 했으니까요.
그래서 새로 작성된 library들은 .h를 제거해서 구분하기로 하였습니다.
아주 최근의 컴파일러들은 (VC++ 2008 버전같은 경우) 아예 .h 버전의 헤더 파일들을 지원하지도 않습니다.
그래서 VC++ 2008 같은 경우 iostream.h 를 포함하면 아예 컴파일이 되지 않죠.
(VC++ 2003, 2005 같은 경우는 두 가지 버전이 모두 있었습니다.)
다만 stdio.h 나 stdlib.h 같은 C 용 헤더 파일들은 C 전용 프로그램들을 위해서 계속 남겨 두었습니다.
그러나 여기도 새로운 버전의 헤더파일들이 만들어져 있는데 그것들은 cstdio, cstdlib 과 같은 이름으로
존재합니다. C에는 두 가지 버전의 헤더파일들이 여전히 존재하는 것이죠.
결론적으로 현재는 컴파일러에 따라 다소 복잡하게 얽혀 있는 상황입니다만, 향후는 C++용 헤더 파일들은
.h가 없는 버전으로 통일될 것이고 C용 헤더 파일들은 당분간 두 가지 버전이 계속 사용될 것입니다.
- 출처 : 지식인 xtelite 님.
'★─Programing > ☆─C | C++' 카테고리의 다른 글
[C/C++] 객체지향프로그래밍(OOP) (0) | 2009.09.29 |
---|---|
[C/C++] namespace 와 범위지정 연산자 (0) | 2009.09.29 |
[C/C++] 닷넷2003에는 iostream.h가 없다!? (0) | 2009.09.29 |
[C/C++] rand() % M 사용하지 말라!!! (2) | 2009.02.03 |
[C/C++] rand()함수.. 범위가 작구나 -> n * rand ( ) / RAND_MAX + 1 (0) | 2009.02.03 |