1.using声明将其他命名空间的名字引入了当前的命名空间
2.using指示将其他命名空间的名字引入了包含当前命名空间的命名空间(即当前命名空间的父空间)
验证代码如下:
#include <iostream>
namespace myspace{
int i = 0;
}
int i = 1;
void func(){
using namespace myspace;//using指示
//编译器无法确定调用的是全局命名空间的i,还是myspace命名空间的i
//std::cout << "i=" << i << std::endl;
}
void func2(){
using myspace::i;//using声明
//使用的是myspace命名空间的i,屏蔽了全局命名空间的i
std::cout << "i=" << i << std::endl;
}
int main(){
func();
func2();
system("pause");
return 0;
}
运行结果: