- namepace相当于定义一个命名空间,其中基础的命名空间有 std::(standard标准空间)、::(全局空间,余下的未被命名的空间)
- 命名空间下 可以放函数、变量、结构体、类
- namespace命名空间主要用途:用来解决命名冲突的问题
- 只要是定义都能放入namespace
-
//1、命名空间下 可以放函数、变量、结构体、类 namespace A { void func(); int m_A = 20; struct Person { }; class Animal{}; namespace B { int m_A = 10; } }
- using的使用
- 如using namespace KingGlory;//打开王者荣耀空间,但并不一定使用它
- using KingGlory::sunwukongId;//使用王者荣耀下的孙悟空,一个子函数能用一次此语句,并再此函数下见到孙悟空只用王者荣耀下的
- using ::pl、KingGlory::pl.name = 2;
-
//王者荣耀下的 namespace KingGlory { struct person { int name; int age; }; struct person pl; } //全局下的 struct person { int name; int age; }; struct person pl; void test04() { using namespace KingGlory;//开启王者荣耀空间 //using namespace LOL;//打开LOL房间 //如果打开多个房间,也要避免二义性问题,不同房间存在相同变量 using KingGlory::pl; //using ::pl; ::pl.name = 1; KingGlory::pl.name = 2; cout << pl.name<< endl; //cout << ::pl.name<< endl; } int main() { test04(); using ::pl;//一个子函数只能用一次这个程序,到另一个函数就可以继续用了 cout << pl.name << endl; return 0; }