注册 登录
编程论坛 C++教室

[讨论]预处理命令后缀h

yrz_000 发布于 2007-08-28 19:15, 1075 次点击

#include < iostream > 和 #include < iostream.h >,我知道后者一定对,但前者对吗?

9 回复
#2
aipb20072007-08-28 21:01

你知道的一定是错的
看编译器!

#3
qkjenjoy2007-08-29 08:28
在C++中,头文件是不带扩展名.h的,即#include < iostream >是对的
尽量适应新的发展吧!
#4
qianlima19872007-08-29 08:52
两个都可以!
#5
青格儿2007-08-29 18:33
一个产新标准,一个是旧标准!在VC++里不太明显,但在VS.Net 里就不同了,此时只能用不带.H的头文件!
#6
天使梦魔2007-08-29 19:02
不带H的被封装过了,带H的是全局声明,作用有小点不同
#7
baihualin2007-08-29 20:31

从功能性的角度来讲,<iostream>包含了一系列模板化的I/O类,相反地<iostream.h>只仅仅是支持字符流。另外,输入输出流的C++标准规范接口在一些微妙的细节上都已改进,因此,<iostream>和<iostream.h>在接口和执行上都是不同的。最后,<iostream>的各组成都是以STL的形式声明的,然而<iostream.h>的各组成都是声明成全局型的。

  因为这些实质上的不同,你不能在一个程序中混淆使用这两个库。做为一种习惯,在新的代码中一般使用<iostream>,但如果你处理的是过去编写的代码,为了继承可以用继续用<iostream.h>旧保持代码的一致性。  

#8
duffebear2007-09-02 15:43
见c++ 标准的说明
#9
福尔摩斯2007-09-02 17:45
iostream 是 ++ 的一个 类 文件

iostream.h 是 C 语言的一个文件(不是类)
#10
PcrazyC2007-09-02 22:26
老的C++用的就是iostream.h,新的现在用iostream,里面包含了很多名字空间,用里面的函数时要加名字限定std::,或在使用前加using namespace std;
1