C++编程问题,一个很细小的问题,不过却很头痛

来源:百度知道 编辑:UC知道 时间:2024/07/08 14:31:30
谁能告诉我
#include<iostream.h>与#include<iostream>的区别:
注:问题提出原因:本来一直以为只是格式上不同而已,但最近在调试程序时发现这个区别非常影响程序最后输出的格式和正确性

认为没有区别的且很有兴趣知道到底有什么区别的加我QQ:373350410
希望能一起分析出原因

知道问题答案的就请告诉我吧,具体程序写这里太长了,我就不写了
本人十分感激

很多C++程序员还在使用<iostream.h>而不是用更新的标准的<iostream>库。
这两者都有什么不同呢?首先,5年前我们就开始反对把.h符号继续用在标准的头
文件中。继续使用过时的规则可不是个好的方法。从功能性的角度来讲,
<iostream>包含了一系列模板化的I/O类,相反地<iostream.h>只仅仅是支持字符
流。另外,输入输出流的C++标准规范接口在一些微妙的细节上都已改进,因此,
<iostream>和<iostream.h>在接口和执行上都是不同的。最后,<iostream>的各组
成都是以STL的形式声明的,然而<iostream.h>的各组成都是声明成全局型的。

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

#include <iostream>
是符合ANSI/ISO C++标准的,里面的函数都被封装在std名空间域里,用的时候都要写std::cout这样的形式,要么就using namespace std;这样可以提高程序函数的通用性
此外原来C中的头文件在标准里要去掉.h加上c前缀,比如math.h变成cmath

#include <iostream.h>这样写,里面的函数都是全局函数.

一般来说没什么区别的,但是不同的编译器支持的程度不一样,我个人感觉,VC对这个的支持不是很好,BCC对它的支持要好些