简单问题#include<iostream.h>和没有.h用using namespace std有什么区别

要求具体通俗一点的,谢谢,我会加分
2024-12-02 02:57:49
推荐回答(4个)
回答1:

首先,我把一些由不同层次的C++程序员经常问的问题归到一起。我惊奇的发现有很多是有经验的程序员都还没意识到 .h 符号是否还应该出现在标准头文件中。

要点1: 还是 ?

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

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

http://dev.csdn.net/Develop/article/28/68814.shtm

回答2:

#include
是符合C++国际标准的用法
#include
只是各个编译器和库厂商保留用作向后兼容的遗留功能
标准上说,所有标准库成员都在 ::std 名字空间之内,使用
using namespace 相当于把这些名字“倾倒”进了全局名字空间中。
C++ IO 流库是最早随C++语言发售的标准库之一,在C++早期,模板、名字空间、甚至多继承都还没被引入C++语言的时候,就已经有IO流了,后来演化为主要C++编译器厂商都提供库。
C++ 国际标准 ISO/IEC 14882:1998 将所有标准库组件都放入了名字空间 ::std 中,并且把 IO 流库模板化,新的 与传统的 功能基本相同。
当代编译器实现实际上大多并不提供两个不同的 IO 流实现,只不过是一个实现不带 namespace std 的 另一个头文件用namespace 里 #include 一下,或者先实现一个有 namespace std 的 在提供一个带有 using 的

回答3:

gfjgj

回答4:

没什么区别。
用using namespace std可以让前面的标准头文件都不加.h