2.2 using声明和using编译指令
1、using LOL::sunwukongID;
2、如果局部范围内还有sunwukongID,会出现二义性问题,要注意避免
3、using namespace LOL
4、如果局部范围内还有sunwukongID,使用局部的ID
5、如果打开多个房间,那么也要注意二义性问题
主要两个注意点
#define _CRT_SECURE_NO_WARNINGS //传统环境下C++不支持传统C语言
#include <iostream>
using namespace std;
namespace King
{
int sunwukongID = 10;
}
void test01()
{
int sunwukongID = 20;
//using声明 注意避免二义性问题
//写了using声明后 下面这行代码说明以后看到的sunwukongID是用King下的
//但是,编译器又有就近原则
//二义性
//using King::sunwukongID;
cout << sunwukongID << endl;
}
//using编译指令
namespace LOL
{
int sunwukongID = 30;
}
void test02()
{
//int sunwukong = 20;
//using编译指令
using namespace King;//打开King房间,并没说一定要用King中的,所以还是20
using namespace LOL;//打开LOL房间
//如果打开多个房间,也要避免二义性问题
cout << LOL::sunwukongID << endl;
}
int main()
{
//test01();
test02();
system("pause");
return EXIT_SUCCESS;
}