c++ 中的命名空间

命名空间不仅可以避免名称冲突,还可以保持代码的局部性。命名空间包括有名命名空间(变量或函数要在其他地方复用的时候使用)和无名命名空间(代码块无复用需求的时候使用,变量和函数仅在本文件可用)。一、有名命名空间有时候为了简化命名空间下变量和函数的使用,会使用using,具体使用方法如下无名命名空间定义格式:

以下为知识DOC为大家进行整理的相关内容,希望对大家有所帮助!

所谓,是指标识符(可以是变量或者函数)的各种可见范围。在这个名空间中可以定义一组变量和函数,这些变量和函数的作用范围一致,可以将这些变量和函数称为这个名空间的成员。命名空间不仅可以避免名称冲突,还可以保持代码的局部性。命名空间包括有名命名空间(变量或函数要在其他地方复用的时候使用)和无名命名空间(代码块无复用需求的时候使用空间名称空间名称,变量和函数仅在本文件可用)。

一、有名命名空间

定义格式如下:

namespace 空间名1{  var1; //变量  fun1; //函数  namespace 空间名2 {    var2;    func2;  }}

使用格式如下:

(1)空间名1::var1 (2)空间名1::空间名2::func2(3)namespace 空间名3 = 空间名1::空间名2;  空间名3::func2; //使用别名的方式,效果和(2)相同

有时候为了简化命名空间下变量和函数的使用,会使用using,具体使用方法如下

using namespace 空间名1; // 此时如果再想使用 空间名1 下面要使用fun1的时候就可以直接调 fun1(而不是 空间名1::fun1)using namespace std;//这个表示使用std空间

注意:using可以放在函数的外面,也可以放在函数的里面。如果放在函数的外面,那么与函数平级的的其他函数也会收到 using 作用域的影响;如果放在函数里面空间名称,using只会影响函数自身。

例子:#includeusing namespace std;namespace A {    int var1 = 1;    void func1(int var){      cout<<"A::var:"<<var<<endl;    }    namespace B {	int var1 = 2;

伤感空间名称_空间名称_qq空间名称加长

int var2 = 3; void func1(int var1) { //函数名与namespace A下面的函数fun1一样 cout //调用namespace A::B 下面的fun1 AB::func1(3); //print B::var1:3 //调用namespace A 下面的fun1 A::func1(2); //print A::var:2 using namespace A; //使用using把namespace限定到A下面的fun1 func1(5); //print A::var:5 return 0; }

二、无名命名空间

无名命名空间定义格式:

namespace {    var1;    func1;}

qq空间名称加长_空间名称_伤感空间名称

使用举例

#includeusing namespace std;namespace {    int var1 = 1;    void fun1(int var){	cout<<"var:"<<var<<endl;    }    namespace B {	int var1 = 2;	int var2 = 3;	void fun1(int var1) {		cout<<"B::var1:"<<var1<<endl;	}

伤感空间名称_qq空间名称加长_空间名称

} } ////无名命名空间的函数(或变量)等效于全局函数(或变量),所以下面2个定义是不合法的 /*void fun1(int var){ cout<<"var:"<<var<<endl; } int var1 = 2;*/ int main() { //无名命名空间的函数(或变量)使用方式与全局变量相同 fun1(15); //print var:15 ,由此可见无名命名空间其实可以直接去掉 return 0; }

本文地址: https://www.zhishidoc.com/19350.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 859089669@qq.com 举报,一经查实,本站将立刻删除。

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年10月20日 下午3:33
下一篇 2022年10月20日 下午3:37

相关推荐

  • 过好每一天的唯美句子

    何必留恋一时的心痛,后面的日子也有快乐.你以为,这个世界,只要有爱情就够了吗?可是,就算我们拥有了全世界,如果没有爱情,从此,再也不会体会快乐!让每一天都有机会成为你人生中最美好的一天。有时痛苦,有时精彩。世界上最棒的事是,每天早上醒来又是崭新的一天,完全免费,永不断货。我最大的快乐是,我通过努力,过的每一天,都是我想要的。有时候是我们自己想太多才让自己如此难受。

    投稿 2022年10月21日
    10300
  • 发扬团队协作精神,齐心协力攻克难关

    相信大家会在今后的工作中,继续发扬团队协作精神,齐心协力攻克难关。这次拓展培训让我深刻体会到了团队的力量是巨大的,成功属于团队的每一个成员。如果没有团队里每一个成员相互协作、共同努力,很多事情是难以完成的。本次拓展训练,进一步增强了团队的凝聚力和协作共事能力,加强了内部沟通交流,对加强公司的团队建设和加快企业发展步伐具有十分重要的意义。

    投稿 2022年10月13日
    15100
  • 抖音关于和朋友旅行的文案

    一组抖音关于和朋友旅行的文案送给大家哦。1、好吃的东西放进肚子里,可爱的人放在心里,有趣的地方要和可爱的人一起去。5、背着背包的路上、看过许多人、听过许多故事、讲过旅途风景、就这样慢慢学会了长大13、有很多人觉得,一个人旅行好无聊。18、一颗说走就走的心、一个会拍照的闺蜜、一段甜蜜的旅行24、据说每个人心里、都有一只想旅行的小魔鬼。

    2022年10月16日
    31000
  • 九月再见十月你好走心说说文案 9月结束10月开始的说说

    十月你好!九月再见,十月你好。九月再见,十月你好。九月再见,十月你好!十月,你好。十四、九月再见,十月你好!十六、这个十月开始前,回头和曾经的自己说声再见。十月你好。十月你好!九月再见,十月你好。十月,你好!九月再见,十月你好!九月再见,你好十月。三十四、九月再见,十月你好!三十六、九月再见,十月你好。九月再见,十月你好!三十八、你好,十月。十月你好。九月再见,十月你好!十月你好!五十二、再见九月,你好十月。十月你好!转眼又是一年深秋,想说,九月再见,十月你好。五十七、九月,再见了十月,奋发图强

    2022年10月26日
    11400
  • 中秋说说|中秋节朋友圈说说

    中秋节朋友圈说说(精选135句)【中秋节朋友圈说说】相关文章:中秋节朋友圈的说说09-08中秋节朋友圈说说09-08关于中秋节朋友圈说说09-08中秋节发朋友圈说说09-08最新中秋节朋友圈说说09-08中秋节发朋友圈的说说09-14中秋节朋友圈的祝福说说09-15中秋节晚饭朋友圈说说09-06中秋节创意朋友圈说说09-08

    2022年9月29日
    15500

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注