命名空间namespace
C++命名空间的使用是为了防止名称冲突,引入关键字namespace可以更好地控制标识符的作用域。
其语法特点如下:
1. 命名空间下可以放符号常量、函数、变量、结构体、类和对象等等。
2. 命名空间只能全局范围内定义
3. 命名空间可以嵌套命名空间
4. 命名空间是开放的,即可以随时把新的成员加入已有的命名空间中
5. 无名命名空间(匿名命名空间)意味着命名空间中的标识符只能在文本文件内访问,相当于给这个标识符加上了static, 使其可以作为内部连接
6. 命名空间可以别名
#define _CRI_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
#include "game1.h"
#include "game2.h"
// namespace命名空间主要用途 用来解决命名冲突的问题
// 1. 命名空间下可以放函数、变量、结构体、类
// 2. 命名空间必须定义在全局作用域下
void test01()
{
LOL::goAtk();
KingGlory::goAtk();
}
// 3.命名空间可以嵌套命名空间
namespace A
{
int m_A = 20;
void func();
struct Person
{
};
class Animal{};
namespace B {
int m_A = 10;
}
}
void test02()
{
cout << "作用域B下的m_A为:" << A::B::m_A << endl;
}
//4. 命名空间是开放的,可以随时往原先命名空间添加内容
namespace A//此命名空间回和上面的