作用
c++标准库中所有的标识符都储存在名为“std”的namespace中。
这里解释一下namespace:把单个标识符下有大量逻辑联系的程序实体组合到一起,此标识符作为组合的名字。
再解释一下标识符:程序员自己规定具有特定含义的词,比如类名称,属性名称,变量名。(就是相当于形式参数,定义规则参考
)
那么当我们使用标识符的时候,就必须想使用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的百度资料
后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。
因此,当使用<iostream.h>
时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用<iostream>
的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。
所以在使用cin ,cout,endl时必须同时使用#include<iostream>
以及using namespace std;