#include<iostream.h>&&using namespace std 有什么区别?

 我来答
友傲冬0h4
2011-07-20 · 超过24用户采纳过TA的回答
知道答主
回答量:113
采纳率:0%
帮助的人:72.7万
展开全部
C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。 由于namespace的概念,使用C++标准程序库的任何标识符时,可以有三种选择:
1、直接指定标识符。
  例如std::ostream而不是ostream。完整语句如下: std::cout << std::hex << 3.4 << std::endl;
2、使用using关键字。
  using std::cout; using std::endl; using std::cin; 以上程序可以写成 cout << std::hex << 3.4 << endl;
3、最方便的就是使用using namespace std
  例如:   #include<iostream>   #include<sstream>   #include<string>   using namespace std;   这样命名空间std内定义的所有标识符都有效(曝光)。就好像它们被声明为全局变量一样。那么以上语句可以如下写: cout << hex << 3.4 << endl; 因为标准库非常的庞大,所以程序员在选择的类的名称或函数名时就很有可能和标准库中的某个名字相同。所以为了避免这种情况所造成的名字冲突,就把标准库中的一切都放在名字空间std中。但这又会带来了一个新问题。无数原有的C++代码都依赖于使用了多年的伪标准库中的功能,他们都是在全局空间下的。 所以就有了<iostream>和<iostream.h>等等这样的头文件,一个是为了兼容以前的C++代码,一个是为了支持新的标准。 命名空间std封装的是标准程序库的名称,标准程序库为了和以前的头文件区别,一般不加".h"
208vokcwu
2011-07-21 · TA获得超过2168个赞
知道大有可为答主
回答量:4655
采纳率:0%
帮助的人:809万
展开全部
0是很多年前出的编译器了,用它写的程序即使能够通过编译也有许多不符合现在的c/c++标准的地方。总而言之个人认为它太老了,不合时代。
比如,void main()的写法。这样写能够在vc++6.0中编译通过,但VS2010不行,必须写成int main()。从标准的角度来说void main()是错误的写法,虽然能在vc++6.0里使用。
再比如,在c++程序里,常用的标准模板库,以iostream为例,要包含它,在vc6.0中,写成#include<iostream.h>是可以的,但在vs2010中,必须写成#include<iostream>并加上一句using namespace std;
另外,站长团上有产品团购,便宜有保证
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
seamaswong
2011-07-20 · TA获得超过1122个赞
知道小有建树答主
回答量:483
采纳率:0%
帮助的人:380万
展开全部
std是标准名字空间
一般使用 #include<iostream.h>是不需要用 using namespace std;的
但是使用#include<iostream>就一定要加 using namespace std
追问
那#include和using namespace std;就没有区别吗?
追答
这两个根本不是同一样东西
比如你用了 #inlucde,后面代码直接可以 这个头 文件里定义的东西了,例如 cout之类的
但是 using namespace std,表示使用 std 名字空间的东西,你如果加了 #include,才可以使用 cout, 如果不用using namespace std的情况下用 #include,还是不能直接使用cout;而是要用 std;cout才能使用
跟跟其实是对应的,只不过是把里面的东西封装到std名字空间去了,你应该去看一看为什么要有名字空间
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式