// 命名空间
#include <iostream>
using namespace std;
// namespace命名空间,可以用来避免命名冲突
class Person{
public:
int m_age;
};
namespace MHF{
// g_number是一个全局变量,写在函数外面的就是全局变量,外面的大括号只是一个作用域,不是函数,命名空间namespace不影响内存布局,全局变量还是全局变量
int g_number;
class Person{
public:
int m_height;
};
void test(){
cout << "MHF::test()" << endl;
}
}
int main(){
Person person;
person.m_age = 10;
MHF::g_number = 1;
MHF::Person person2;
person2.m_height = 180;
MHF::Person *p1 = new MHF::Person();
MHF::test();
p1->m_height = 30;
或者上面的可以写为下面的
using namespace MHF
g_number = 1;
Person *p = new Person();
test();
// 或者只用哪个成员变量 using MHF:g_number
getchar();
return 0;
}
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//命名空间的嵌套
namespace MHF{
namespace MHFF {
int g_no;
class Person{
};
}
}
void test(){
}
int main(){
MHF::MHFF::g_no = 20;
using namespace MHF;
MHFF::g_no = 30;
using namespace MHF::MHFF;
g_no = 10;
// 有个默认的全局命名空间,我们创建的命名空间默认的空命名空间,没有名字
test();
::test();
::MHF:::MHFF::g_no = 20;
getchar();
return 0;
}
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//命名空间的合并:以下2种写法是等价的
namespace MHF {
int g_age;
}
namespace MHF {
int g_no;
}
等价于:
namespace MHF {
int g_age;
int g_no;
}
//其他编程语言的命名空间
Java
Package:文件夹的意思.
C++,命名空间
最新推荐文章于 2023-07-21 16:25:00 发布