命名空间
//命名空间
//1.命名空间是用来组织和重用代码的编译单元
//2.在编写代码时写的程序不可能所有的标识符都没有重名现象
//在很多人协同开发时更加不可控制,尤其对于库来说问题更加严重、。
//为了解重名现象,通过命名空间来避免冲突
#include<iostream>
//using namespace std;
//封装 命名空间里面的东西默认时对外时不开放的
//namespace YIMU
//{
// int sum = 10;
// void fun1()
// {
// cout << "hello world!" << endl;
// }
// void fun2()
// {
// cout << sum << endl;
// }
// namespace A
// {
// void fun3()
// {
// cout << "adsf" << endl;
// }
// }
//}
//using namespace YIMU;//把命名空间中的所有成员对外公开
//把YIMU命名空间下的fun2对外开放
//using YIMU::fun2;//::理解为哪个空间下的什么
//using namespace YIMU::A;//只打开了A 而不是A和YIMU都打开了
#include"tool.h"
using namespace AAAAAA;
int main()
{
//fun1();
//fun2();
//cout << sum << endl;
//fun3();
//YIMU::A::fun3();//打开YIMU下面的A中的fun3();
fun();
system("pause");
}
//头文件tool.h
#pragma once
#include<iostream>
using namespace std;
namespace AAAAAA
{
void fun();//函数的声明
}
//与头文件同名的文件tool.cpp
#include"tool.h"
//函数体
void AAAAAA::fun()
{
cout << "qwer" << endl;
}
本文介绍了C++中的命名空间机制,旨在解决代码中标识符重名的问题,特别是在多人协作和库的开发中。通过示例展示了如何声明和使用命名空间,包括如何访问子命名空间,以及如何通过`using`指令来控制命名空间的可见性。同时,还讨论了如何通过头文件和源文件来组织包含命名空间的代码。
5589

被折叠的 条评论
为什么被折叠?



