using namespace std;

作用

http://baike.baidu.com/link?url=UfF6_nyXCdeoJ17Iv9xHakI5vfk1DnmiXcFD_NNNbpc0xmYq7EKPKBp2TzzJpqy5M3YIahEIjPAOMku2xsI5EggR_fhJmDys5wsSj80YC0xe9V1IItoK6lGJsc0pLWKa这是百度的详细解析
我来总结一下:

c++标准库中所有的标识符都储存在名为“std”的namespace中。

这里解释一下namespace:把单个标识符下有大量逻辑联系的程序实体组合到一起,此标识符作为组合的名字。

再解释一下标识符:程序员自己规定具有特定含义的词,比如类名称,属性名称,变量名。(就是相当于形式参数,定义规则参考

http://baike.baidu.com/item/%E6%A0%87%E8%AF%86%E7%AC%A6

那么当我们使用标识符的时候,就必须想使用std,有三种方法:

1, 直接指定标识符

std::cout<<"yse"<<std::endl;

2,使用using关键字

using std::cout<<"yes"<<using std::endl;

3,使用using namespace std;

#include <iostream>
using namespace std;

那么问题来了,为什么在我使用多文件的时候,里面含有cin,cou,endl时不能仅仅在开头添加#include <iostream >
仅仅添加这个的话编译器就会说:cin was not declard;

参考iostream的百度资料

http://baike.baidu.com/link?url=ZFC3XsdhX8OHRvtQPp6DWiIkp4FqgfFeCaimOTcMZpm-DKTGOjgJ-RwJ8trSI_QRyB-3q7GnD2vNtMLCJi-G6p_612srRrGa2vliZyCz_zm

后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。
因此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。

所以在使用cin ,cout,endl时必须同时使用#include<iostream> 以及using namespace std;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值