讨论:#include<iostream> using namespace std; & #include <iostream.h>
请朋友们说说 哪一个用起来更优?
小弟觉的:
#include<iostream>
using namespace std;
打字比
#include <iostream.h>
多^_^
但是前者比后者后出来,一定有他的原因
请高手讲解!!
问题点数:20、回复次数:20Top
1 楼llmsn("若虚"即"虚怀若谷"!!!)回复于 2005-04-24 20:32:51 得分 1
都一样的.Top
2 楼llmsn("若虚"即"虚怀若谷"!!!)回复于 2005-04-24 20:33:15 得分 1
只是后面的包含了一个std名字空间.Top
3 楼zhongwei5695(威少求学C++)回复于 2005-04-24 20:37:33 得分 0
为什么趋向标准的都用前者不用后者呢?Top
4 楼zhongwei5695(威少求学C++)回复于 2005-04-24 20:38:54 得分 0
请大家发表个人见鉴Top
5 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-04-24 20:39:24 得分 1
第一个Top
6 楼shazi_pig(傻子)回复于 2005-04-24 20:42:24 得分 2
名字空间很有用的,特别是大型工程,我个人认为大家用第一个。Top
7 楼zhongwei5695(威少求学C++)回复于 2005-04-24 21:24:56 得分 0
还有人发表意见么?Top
8 楼zhongwei5695(威少求学C++)回复于 2005-04-24 21:25:12 得分 0
大家可以说说喜欢使用哪一个Top
9 楼flying_dancing(小混混-_-)回复于 2005-04-25 01:04:30 得分 1
建议用前者 我知道是等价.........其他的不明白Top
10 楼Mypiger(深圳 step by step)回复于 2005-04-25 01:12:13 得分 2
都一样 就是涉及到命名空间的问题!Top
11 楼a112319124728(彪)回复于 2005-04-25 12:28:14 得分 1
upTop
12 楼Cuiql(向前冲,向后看)回复于 2005-04-25 12:43:47 得分 2
建议使用第一个.Top
13 楼liubingqian(海风)回复于 2005-04-25 13:08:21 得分 1
楼主自己已经回答这个问题了。
标准的原因。Top
14 楼whyglinux(山青水秀)回复于 2005-04-25 13:18:47 得分 3
<iostream.h>是C++标准制定之前使用的头文件,<iostream>是C++标准规定使用的形式(标准头文件)。因此,要写符合标准的程序就要使用后者。为了兼容以前的程序,一般编译器也允许使用前者,但是你应该知道这是不符合标准的,而且一些编译器已经不支持这种形式的头文件了。Top
15 楼dophin1003(浮云~~~)回复于 2005-04-25 16:12:51 得分 4
因为标准库中东西如此之多,你(或象你一样的其他什么人)所选择的类名或函数名就很有可能和标准库中的某个名字相同。为了避免这种情况所造成的名字冲突,实际上标准库中的一切都被放在名字空间std中(参见条款28)。但这带来了一个新问题。无数现有的C++代码都依赖于使用了多年的伪标准库中的功能,例如,声明在<iostream.h>,<complex.h>,<limits.h>等头文件中的功能。现有软件没有针对使用名字空间而进行设计,如果用std来包装标准库导致现有代码不能用,将是一种可耻行为。(这种釜底抽薪的做法会让现有代码的程序员说出比 "可耻" 更难听的话)
慑于被激怒的程序员会产生的破坏力,标准委员会决定为包装了std的那部分标准库构件创建新的头文件名。生成新头文件的方法仅仅是将现有C++头文件名中的 .h 去掉,方法本身不重要,正如最后产生的结果不一致也并不重要一样。所以<iostream.h>变成了<iostream>,<complex.h>变成了<complex>,等等。对于C头文件,采用同样的方法,但在每个名字前还要添加一个c。所以C的<string.h>变成了<cstring>,<stdio.h>变成了<cstdio>,等等。最后一点是,旧的C++头文件是官方所反对使用的(即,明确列出不再支持),但旧的C头文件则没有(以保持对C的兼容性)。实际上,编译器制造商不会停止对客户现有软件提供支持,所以可以预计,旧的C++头文件在未来几年内还是会被支持。
节选自《effective c++》条款50: 提高对C++的认识Top
16 楼syd1207(既然选择远方,便只顾风雨兼程。。。)回复于 2005-04-25 16:16:52 得分 0
偶==>第二个!~Top
17 楼plovej(把自己变为挣钱的机器)回复于 2005-04-26 18:10:53 得分 0
恩,明白了Top
18 楼llf_hust()回复于 2005-04-26 18:43:21 得分 0
使用第一个Top
19 楼wovow(凉席)回复于 2005-04-26 22:42:54 得分 1
由于在各种C++实现中头文件的后缀各不相同因此标准C++头文件没有指定后缀
使用第一种形式。
无须吝啬,会带来很多方便。Top
20 楼moonranger(狂热的菜鸟)回复于 2005-04-27 19:54:39 得分 0
支持第二个!!
这是标准的C++,感觉舒服~~Top
相关问题
- 关于#include<iostream> using namespace std;高手进
- 怎样才能让vc6.0下也能用 #include <iostream> using namespace std; ?
- 关于using namespace std;与<.h>之间的问题
- 奇怪的问题,挑战高手,#include "iostream.h"和#include <iostream> using namespace std不一样
- about "using namespace std"
- using namespace std;说明已经引用了std命名空间,为什么还用#include包含<iostream>呢?
- using namespace std??在线!
- 关于 using namespace std
- 关于std::__Fiopen 和using namespace
- 求助:std::iostream的问题




