当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

命名空间的概念[VC/C++编程]

赞助商链接



  本文“命名空间的概念[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

很多初学C++的人,关于C++中的一些基本的但又不常用的概念感到模糊,命名空间(namespace)就是这样一个概念.

C++中采取的是单一的全局变量命名空间.在这单一的空间中,假若有两个变量或函数的名字完好相同,就会呈现冲突.当然,你也可以利用差别的名字,但有时我们并不知道另一个变量也利用完好相同的名字;有时为了程序的便利,必须利用同一名字.比方你定义了一个变量string user_name, 有大概在你调用的某个库文件或别的的程序代码中也定义了相同名字的变量,这就会呈现冲突.命名空间就是为办理C++中的变量、函数的命名冲突而服务的.办理的办法就是将你的strTemp变量定义在一个差别名字的命名空间中.就仿佛张家有电视机,李家也有一样型号的电视机,但我们能辨别清楚,就是因为他们分属差别的家庭.

比方:

#include <iostream>
#include <string>
using namespace std;

//using namespace编译指导,使在C++尺度类库中定义的名字在本程序中可以利用

//不然,iostream,string 等c++尺度类就不可见了,编译就会出错.

//两个在差别命名空间中定义的名字相同的变量

namespace myown1{
string user_name = "myown1";
}
namespace myown2{
string user_name = "myown2";
}
int main()
{
cout<< "
"
<< "Hello, "
<< myown1::user_name  //用命名空间限制符myown1拜候变量user_name
<< "... and goodbye!
";
cout<< "
"
<< "Hello, "
<< myown2::user_name //用命名空间限制符myown2拜候变量user_name
<< "... and goodbye!
";
return 0;
}
当然,我们也可以利用程序开首的预编译指导来利用命名空间中的名字.利用预编译指导的好处在于在程序中没必要显式地利用命名空间限制符来拜候变量.以上主程序可改正成:int main()
{
using namespace myown1;
cout<< "
"
<< "Hello, "
<< user_name
<< "... and goodbye!
";
//  using namespace myown2;
cout<< "
"
<< "Hello, "
<< myown2::user_name //用命名空间限制符myown2拜候变量user_name
<< "... and goodbye!
";
return 0;
}
但第二个变量必须用命名空间限制符来拜候,因为此时myown1空间中的变量已经可见,假如不加限制,编译器就会无法辨认是那一个命名空间中的变量.这一点一定要注意. 以上只是初学者不清楚的一个概念,在今后的文章中还将持续谈论别的的一些概念.


  以上是“命名空间的概念[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>java中通过xpath处理含有命名空间</b>
  • Struts2.0深化学习 命名空间,模子驱动,表单反复提交
  • 命名空间的概念
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .