C++ Primer笔记(3.1)—— 命名空间的using声明
/*****************************************************************************************/
/* 目前为止,我们用到的库函数基本上都属于命名空间std,而程序也显示地将这一点标示了出来。 */
/* 例如, std::cin 表示从标准输入中读取内容。 作用域操作符(::)的含义是:编译器从操作符左 */
/* 侧名字所示的作用域中寻找右侧那个名字。 */
/* 因此,std::cin的意思就是要使用命名空间std中的名字cin。 */
/* */
/* 有了using声明就无须专门的前缀也能使用所需的名字了。using声明具有如下形式: */
/* using namespace::name; */
/* 一旦声明了上述语句,就可以直接访问命名空间中的名字。 */
/*****************************************************************************************/
#include<iostream>
//using声明,当我们使用名字cin时,从命名空间std中获取它
using std::cin;
int main()
{
int i;
cin >> i;
//cout << i; //错误:没有对应是using声明
std::cout << i;
return 0;
}
/*!!!!!!!!!!头文件不应包含using声明!!!!!!!!!!*/
/* 位于头文件的代码一般来说不应该使用using声明。这是因为头文件的 */
/* 内容会拷贝到所有引用它的文件中去,如果头文件里有某个using声明 */
/* 那么每个使用了该头文件的文件就都会有这个声明。对于某些程序来说*/
/* 由于不经意间包含了一些名字,反而可能产生冲突。 */