命名空间using声明
作用域操作符(::)
编译器从操作符的左侧作用域寻找到右侧那个名字。
因此std::cin的意思就是要使用命名空间std中的名字cin
上面提到的比较繁琐,现提供一个安全的方法,using声明
using无需前缀,也能使用所需名
using namespace::name;
#include<iostream>
using std::cin;
int main(){
int i;
cin>>i;
// cout<<i;错误没有对应的cout声明
std::cout<<i;
return 0;
}
#include<iostream>
using std::cin;
using std::cout;
using std::endl;
int main(){
cout<<"asd"<<endl;
int v1,v2;
cout<<"asdqwe"<<v1<<"asdw"<<v2
<<"wrsd"<<v1+v2<<endl;
return 0;
}
上述程序都对cin,cout,endl进行声明。
位于头文件的代码一般来说不应该使用using声明。如果有了,每个使用该头文件的文件就会有该声明。对于某些程序会发生命名冲突