using声明具有如下的形式:
using namespace::name;
一旦声明了上述语句,就可以直接访问命名空间中的名字:
#include<iostream> //using声明,当我们使用名字cin时,从命名空间std中获取它 using std::cin; int main() { int i; cin >> i;//正确:cin和std::cin含义相同 cout << i;//错误:没有对应的using声明,必须使用完整的名字 std::cout << i;//正确:显式地从std中使用cout return 0; }
每个名字都需要独立的using声明
按照规定,每个using声明引入命名空间中的一个成员:
#include<iostream> using std::cin; using std::cout; using std::endl; int main() { cout << "Enter two numbers:" << endl; int v1, v2; cin >> v1 >> v2; cout << "The sum of" << v1 << " and " << v2 << " is " << v1 + v2 << endl; return 0; }
一开始就有对cin、cout和endl的using声明,这意味着我们不再添加std::形式的前缀就能直接使用它们。
头文件不应包含using声明
头文件的内容会拷贝到所有引用它的文件中去,如果头文件里有某个using声明,那么每个使用了该头文件的文件都会有整个声明。