C++之namespace和::使用总结

举报
chenyu 发表于 2021/07/26 23:28:58 2021/07/26
【摘要】 1、命名空间(namespace使用总结)  C++中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字;有时为了程序的方便,必需使用同一名字,程序代码中也定义了相同名字的变量,这就会出现冲突。命名空间就是为解决C++中的变量、函数的命名冲突而服务...

1、命名空间(namespace使用总结)

 C++中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字;有时为了程序的方便,必需使用同一名字,程序代码中也定义了相同名字的变量,这就会出现冲突。命名空间就是为解决C++中的变量、函数的命名冲突而服务的
 

例如:

 


      #include <iostream>
      #include <string>
      using namespace std;
      //using namespace编译指示,使在C++标准类库中定义的名字在本程序中可以使用
      //否则,iostream,string 等c++标准类就不可见了,编译就会出错。
      //两个在不同命名空间中定义的名字相同的变量
      namespace chenyu1 {
       string myname = "chenyu1";
      }
      namespace chenyu2 {
       string myname = "chenyu2";
      }
      int main()
      {
       cout<< "/n"<< "Hello, "
       << chenyu1::myname //用命名空间限制符chenyu1访问变量myname
       << "... and goodbye!/n";
       cout<< "/n"<< "Hello, "
       << chenyu2::myname //用命名空间限制符chenyu2
  
 

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/62891398

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。