读书人

关于iostream和iostream.h解决思路

发布时间: 2012-04-05 12:42:39 作者: rapoo

关于iostream和iostream.h
许久都没有碰过C++了,今天在练习书上的小程序时,竟然碰到了一个问题。大家都知道,一般头文件写#include<iostream>
using namespace std;这样是一种写法,还可以写成#include<iostream.h>这时就不需要using语句了,这样说来这两种写法应该是等效的了。可是,当包含exit(1)语句时,只有第一种写法可以通过编译,使用后面一种写法根本就不能通过编译,这到底是怎么回事呢,难道这两种写法在某些地方还不是等效的啦?

[解决办法]
#include<iostream.h>是为了对以前版本的兼容,.h文件是从c过来的。而C++为了命名冲突等问题提出了命名空间。也就出现了#include<iostream>using namespace了。
[解决办法]
iostream是C++标准库,其所有定义都包含在名字空间std中;
iostream.h是为了与原先的习惯兼容,所有定义都在全局名字空间中.
[解决办法]

探讨

iostream是C++标准库,其所有定义都包含在名字空间std中;
iostream.h是为了与原先的习惯兼容,所有定义都在全局名字空间中.

[解决办法]
#include <iostream>
using namespace std;

是告诉编译器使用STL库中的函数

STL库中的好多方法和原来的C++库功能都是一样的,头文件也是一样,为了区别规定,使用STL库的话,把.h去掉
[解决办法]
探讨
引用:

iostream是C++标准库,其所有定义都包含在名字空间std中;
iostream.h是为了与原先的习惯兼容,所有定义都在全局名字空间中.
要是想用exit函数就加入#include<stdlib.h>吧

[解决办法]
using namespace std这种模式,改正了.h形式的一些缺陷
[解决办法]
#include <iostream.h>
#include <stdlib.h>
这样就可以了...

读书人网 >C++

热点推荐