【共读Primer】14.[3.1] 命名空间 Page74

我们一直在写的std::cout

其中std就是一个命名空间 "::" 则是作用域操作符

std::cout 意思就是在命名空间std中寻找cout的定义。

 

使用using声明可以无需作用域操作符直接使用对应的对象

using std::cin;  // 使用using声明后,就可以直接使用该对象

每个名字都需要有独立的using声明。

#include <iostream>

using std::cin;
using std::cout;
using std::endl;

int main()
{
    int i;
    cin >> i;
    cout << i;
    std::cout << i;
    return 0;
    
}

头文件中不应该出现using声明

因为头文件会被多处包含,如果不经意间引起了名字冲突,则可能发生以下意料之外的编译错误,很难查找。

 

posted @ 2018-08-07 09:26  chattyku  阅读(109)  评论(0)    收藏  举报