栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

浅谈C++命名空间

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

浅谈C++命名空间

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;

 }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/589473.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号