C++关键字using


命名空间的using声明

目前,我们用到的库函数基本上都属于命名空间std。

类如std::cin表示从标准输入中读取内容。此处使用作用域操作符(::)的含义是:

​ 编译器从操作符左侧名字所示的作用域中寻找右侧的那个名字。

因此,std::cin的意思就是要使用命名空间std中的名字cin。

上面的方法显得比较繁琐,使用using声明就无需专门的前缀,如:

1
using namespace::name;

一旦声明了上述语句,就可以直接访问命名空间中的名字:

1
2
3
4
5
6
7
using std::cin;
int main(){
int i;
cin >> i; //正确,因为又对应的声明
std::cout << i << endl;
return 0
}

头文件不应包含using声明

位于头文件的代码一般来说不应该使用using声明。

这是因为头文件的内容会拷贝到所有引用他的文件中,如果头文件里有某个using声明,那么每个使用该头文件的文件都会有这个声明。


文章作者: 山木
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 山木 !
  目录