有人可以解释我们在声明时得到的内容:
using namespace std;
和
using std::cin;
有什么区别?
答案 0 :(得分:1)
using namespace std;
将std
命名空间中的每个符号导入当前命名空间。它是 using-directive 。来自c++ wiki page on namespaces:
using namespace ns_name;
从使用指令之后的任何名称的非限定名称查找的角度来看,直到它出现的作用域的结尾,来自namespace-name的每个名称都是可见的,就好像它是在最近的封闭名称空间中声明的那样它包含using-directive和namespace-name。
using std::cin;
仅将std::cin
符号导入当前命名空间。这是使用声明。来自the same wiki page as above:
using ns_name::name;
使得名称空间ns_name中的符号名称可以进行非限定查找,就像在相同的类作用域,块作用域或命名空间中声明一样,以及此using声明的出现位置。