当前位置: 首页 > news >正文

全国性质的网站开发公司宁波企业网站建设公司

全国性质的网站开发公司,宁波企业网站建设公司,网站流量排名,关键词排名优化软件在C/C中#xff0c;变量#xff0c;函数和和类这些名称都存在于全局作用域中#xff0c;可能会导致很多冲突#xff0c;使用命名空间的目的是对标识符的名称进行本地化#xff0c;避免命名冲突或名字污染#xff0c;namespace关键字就是解决这种问题的。如下程序并无问题…在C/C中变量函数和和类这些名称都存在于全局作用域中可能会导致很多冲突使用命名空间的目的是对标识符的名称进行本地化避免命名冲突或名字污染namespace关键字就是解决这种问题的。如下程序并无问题: #includestdio.h int rand0; int main(){printf(%d\n,rand);return 0; } 但是如果在上述代码中加入一段#includestdlib.h,因为stdlib.h头文件里面有一个rand的函数此时就会出现如下错误: 命名冲突(C语言中没有方法可以解决这个问题): 1.我们写的代码跟库冲突 2.我们互相之间写的代码冲突 这时C中就有了namespace用来定义一个命名空间语法:namespace 命名空间名{成员},示例如下: #includestdio.h #includestdlib.h namespace ThisLocality{int rand 0; }int main() {printf(%d\n, rand); } 这时就解决命名冲突这个问题,命名空间就像一堵墙把rand围起来了此时的rand默认访问的是全局就是stdlib.h头文件里面的函数rand而namespace里的rand就不会被访问了既然是访问函数rand那么就用%p来打印地址此时代码运行如下: 此时想访问namespace里面rand只需要在rand前面加命名空间名::(域作用限定符)变量名就可以了示例代码如下: #includestdio.h #includestdlib.h namespace ThisLocality{int rand 0; } int main() {printf(%p\n, rand);//访问的是stdlib.h头文件里面的函数printf(%d\n, ThisLocality::rand);//此时访问的是bit命名空间里的rand变量 } 此外命名空间除了可以定义变量也可以定义函数结构体还可以嵌套代码如下: namespace ThisLocality{//定义变量int rand10;//定义函数int Add(int left,int right){return leftright;}//定义结构体struct Node{struct Node*next;int val;};//嵌套namespace ThisLocality2{int rand100;}} 上述几种定义的访问方式如下图: 上述中函数和变量的访问方式只不过就是在名字后面加了()里面放对应的参数而定义命名空间中的结构体的时候命名空间名是加在结构体名前面的所以是ThisLocality::Node 结构体变量名最后访问int rand10;首先要找到命名空间ThisLocality然后再::命名空间名这是找命名空间里的命名空间最后就到了这个命名空间里了最后::变量名就可以访问了我们知道嵌套如果太深也不好一般来说两层基本就够了。 下面在Stack.h中定义了ThisLocality然后在Stack.cpp中完成的ThisLocality里面函数的内容因为他们是同名所以会自动合并成一个命名空间所以在Test.cpp中导入Stack.h就可以使用ThisLocality中的函数了。 展开命名空间使用展开命名空间就像把命名空间里面的代码直接放到展开位置上了使用了展开命名空间之后就不需要再使用命名空间::这段了可以直接使用里面的变量或者函数跟普通变量使用方法并无区别。 using namespace 命名空间名 展开示例: 可以看到展开之后不需要加命名空间名::如其中的ST它会先去全局中找没找到就会去声明的命名空间里面找如果在这两个地方都没有找到就会报错,但是不建议大量使用这种方法。 我们经常会在很多C的代码中看到using namespace std;这段代码这段代码其实是C官方库里面的命名空间这里是直接把这个库展开了这样就可以随便用里面的东西了。C把东西放在里面就是因为容易发生冲突如果展开那不是本末倒置了但是日常小程序为了方便可以这样做。
http://www.pierceye.com/news/116047/

相关文章:

  • 做网站准备材料怎么做优化网站排名
  • asp技校网站手游网页版
  • 网站建设合同要交印花税吗烟台网站的建设
  • 可以做锚文本链接的网站广告公司创意广告语
  • 建设网站的题目旅游网页素材
  • 做网站很难吗新手学做网站 pdf
  • 建设电影推荐网站的项目背景网站开发的公司电话
  • 建设银行 福建分行招聘网站cctv5体育现场直播
  • 网站那个做的比较好的微信辅助网站制作
  • 网站设计大全推荐wordpress后台登录
  • 网站运营与数据分析网站开发学习什么
  • 上海网站备案在哪里查询网站建设哪家稳妥
  • 建设网站做什么赚钱网站制作.
  • 小企业公司网站怎么建做网站英文编辑有前途吗
  • 优化图片传网站wordpress背景图片
  • 网站服务器哪家好些外包做网站不付尾款
  • 建站系统wordpress下载哪个公司的微信商城系统
  • 网站建设app开发合同深圳企业网站制作设计方案
  • 免费网站整站模板下载寻找做网站
  • 做此广告的网站做家纺的网站
  • 湖南畅想网站建设个人网站建设基本定位
  • 建站公司外包钓鱼网站怎么做
  • 个人网站logo需要备案吗鑫灵锐做网站多少钱
  • .xyz做网站怎么样网站产品预算
  • 建网站先要申请网址吗做网站给文件不侵权
  • 一元夺宝网站建设Wordpress 普通图片裁剪
  • 网站推广都有哪些自己有网站怎么优化
  • 宠物交易网站模板更改wordpress后台登录地址
  • 有电脑网站怎样建手机正规网络游戏平台
  • 网站抓取QQ获取系统cms监控手机客户端