展开全部
所谓命名空间就是指由程序设计者命名的内存区域。
你要想搞懂为什么要使用命名空间就得必须知道它的作用。
命名空间的出现就是为了解决同名实体。
比如在学校里难免会出现同名同姓的学生,如果你是校长会怎样做?为了不发生老师点名的冲突,肯定会把同名同姓的学生分别安排在不同的班里。
比如一所学校有3个张三同学,你会把他们分别放在1班,2班,3班。这样一来老师再点名,就不会出现冲突了,比如老师在1班占名叫张三,肯定只有1个人点答。而这些班就是命名空间了。
比如
namespace n1 // 1班
{
char 张三;
}
namespace n2 // 2班
{
char 张三;
}
namespace n3 // 3班
{
char 张三;
}
你要想搞懂为什么要使用命名空间就得必须知道它的作用。
命名空间的出现就是为了解决同名实体。
比如在学校里难免会出现同名同姓的学生,如果你是校长会怎样做?为了不发生老师点名的冲突,肯定会把同名同姓的学生分别安排在不同的班里。
比如一所学校有3个张三同学,你会把他们分别放在1班,2班,3班。这样一来老师再点名,就不会出现冲突了,比如老师在1班占名叫张三,肯定只有1个人点答。而这些班就是命名空间了。
比如
namespace n1 // 1班
{
char 张三;
}
namespace n2 // 2班
{
char 张三;
}
namespace n3 // 3班
{
char 张三;
}
追问
还是有点不懂,给个实例
追答
namespace n1
{
char zs='1';
}
namespace n2
{
char zs='2';
}
namespace n3
{
char zs='3';
}
#include<iostream>
using namespace std;
using namespace n1;
using namespace n2;
using namespace n3;
int main(void)
{
cout<<"使用n1命名空间:"<<n1::zs<<endl;
cout<<"使用n2命名空间:"<<n2::zs<<endl;
cout<<"使用n3命名空间:"<<n3::zs<<endl;
return 0;
}
/*通过上面的例子不难发现,在同一个程序里同时出现相同的变量名,若不使用命名空间,编译系统则报重复定义变量的错误,但我们使用了命名空间,则是正常的。因为我们在使用变量时用了::限定域,系统知道我们在使用那个命名空间的变量*/
/*如果楼主满意的话,请加分喔。*/
Storm代理
2023-08-29 广告
2023-08-29 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询