2021.11.23
由于C语言存在命名冲突问题(在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字 污染,namespace关键字的出现就是针对这种问题的。)于是C++引入了命名空间这个概念,它可以定义一个域,eg:
namespace lhr (命名空间名字一样的时候会被合并成为一个)(命名空间里面可定义函数、变量、类型)
{
int rand = 0; //这个rand任然是全局变量,放在静态区里面。
}
命名空间实质是让编译器编译的时候忽略你写的那段代码,当你想用的时候,可以通过命名空间名字加上作用域限定符加引用对象的方式来使用(bit::rand)。
下面讲讲述命名空间的三种使用方式:
(1)如上面讲的可以通过命名空间名字加上作用域限定符加引用对象的方式来使用
eg:
int main()
{
printf("%dn",lhr::a);
return 0;
}
(2)通过using将命名空间的对象引入
eg:
using lhr::a;
int main()
{
printf("%dn",lhr::b);
printf("%dn",a);
}
(3)使用using namespace 命名空间名称引入(也即全部引入)
eg:
using namespce N;
int main()
{
printf("%dn", N::a);
printf("%dn", b);
Add(10, 20);
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)