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

网站开发课程内部培训seo上海公司

网站开发课程内部培训,seo上海公司,河北邯郸市疫情最新消息今天,网站建设公司讯息目录 冲突与命名: 举个例子: 全局与局部: 域作用限定符: 命名空间域: 冲突与命名: 在C语言中,我们通常会使用stdlib.h 而stdlib.h 本质上是一个函数的库,在程序中使用的大多数…

目录

冲突与命名:

举个例子:

全局与局部:

域作用限定符:

 命名空间域:

 

冲突与命名:

在C语言中,我们通常会使用stdlib.h 

而stdlib.h 本质上是一个函数的库,在程序中使用的大多数函数都来自于stdlib.h

但是,当使用久了便会发现一个问题,那便是命名冲突!

举个例子:

#include<stdio.h>
#include<stdlib.h>int rand = 10;
int main ()
{ printf("%d\n",rand);
}

结果显而易见,因为rand在stdlib.h中是一个函数,所以在使用stdlib.h将程序进行扩展后,你命名的变量极有可能会因为和函数名重复,而造成冲突,但我们又不明白那些是函数,那些又不是函数,所以,这个问题一直是C语言的不足之处!

全局与局部:

在之前的学习中,我们得知当一个变量名同时为全局变量和局部变量时,编译器则优先选择局部变量,也就是所谓的就近原则。

这其实和编译器的工作原理有关,编译器在查看到变量的存在的同时,会在局部区域内搜寻变量的存在,若该变量不存在于局部区域,编译器则会从全局的范围内搜寻变量是否存在,如果还是不存在,则编译器发生报错。

#include<stdio.h>
#include<stdlib.h>int x = 0;
int main ()
{ int x = 1;printf("%d\n",x);
}

但是当我们不想要使用局部变量进行打印,想要使用全局变量进行打印和使用时,又该怎么办呢?

域作用限定符:

:: 作为域作用限定符,:: 的左边写域名,而右边则写变量名,当左边为空时,默认为全局变量。

#include<stdio.h>
#include<stdlib.h>int x = 0;
int main ()
{ int x = 1;printf("%d\n",x);printf("%d\n",::x);
}

使用域作用限定符后,打印出的结果便是我们想要的全局变量。

而域作用限定符的工作原理就是在编译器进行搜索前给编译器指定一块搜索区域,也就是让编译器在指定的区域内部搜索,若得出结果则停下,得不到则继续遵循就近原则。

 命名空间域:

通过域作用限定符我们可以在局部变量名和全局变量名重名时使用全局变量名,但仅仅只是如此吗?

当然不是,为了更方便的使用域作用限定符或者说更好的调用其他范围内的变量,我们可以才用命名空间域

namespace 空间名{}

 如上代码所示,命名空间域的作用就是将需要调用的变量封装起来,并且定义空间的名字,方便摆放在 域作用限定符的 左边 以便使用。

#include<stdio.h>
#include<stdlib.h>namespace bit1 
{int x = 0;
}namespace bit2
{int x = 1;
}int main ()
{ printf("%d\n",bit1::x);printf("%d\n",bit2::x);return 0;
}

 而且命名空间域可以将内部的变量和外部进行隔离,这使得在同一个区域内,即使变量名一样,它们也不会发生报错,因为它们分别被命名空间域封装了。

当然命名空间域的作用不止如此,它的内部还可以存放其他函数,或者结构体。

#include<stdio.h>
#include<stdlib.h>namespace bit1 
{int x = 0;int ADD (int left , int right){return left+right;}
}namespace bit2
{int x = 1;struct Node {struct Node * next;int val;}
}int main ()
{ printf("%d\n",bit1::x);printf("%d\n",bit2::x);//使用ADD函数printf("%d\n",bit1::ADD(1,2));//定义结构体变量struct bit2::Node phead;return 0;
}

但是,命名空间的写法不是很方便,而且每次使用的时候都需要加上::和空间的名字

于是就有了一种全新的写法。

using namespace 空间名;

如果说,头文件是一种内容的拷贝复制,那么 using namespace 就是一种权限的打开。

使用了 using namespace 就意味着,它身后的空间名允许访问,并且在通常的情况下,使用了usiing namespace 的命名空间域,它内部的变量就相当于全局变量.

#include<iostream>using namespace std;int main()
{cout << "hello world"<< endl;return 0;
}
  • std : 这里面的std表示的是所有c++库的命名空间
  • <iostream> :这个是c++的命名库所在的文件名,但是它还被std这个命名空间封装了,所以如果不使用using namespace std 就不能展开命名空间,就用不了这个库中的内容。

如果不展开空间则只能使用这种方式:


 


文章转载自:
http://dhurra.bbtn.cn
http://fluence.bbtn.cn
http://changemaker.bbtn.cn
http://thug.bbtn.cn
http://workroom.bbtn.cn
http://anemometry.bbtn.cn
http://reputation.bbtn.cn
http://apache.bbtn.cn
http://mall.bbtn.cn
http://prostatitis.bbtn.cn
http://sledding.bbtn.cn
http://hydromedusan.bbtn.cn
http://anapest.bbtn.cn
http://nitroaniline.bbtn.cn
http://gyroidal.bbtn.cn
http://nocuously.bbtn.cn
http://clandestine.bbtn.cn
http://flinch.bbtn.cn
http://pyrotechnic.bbtn.cn
http://nerol.bbtn.cn
http://aboulia.bbtn.cn
http://melville.bbtn.cn
http://procurement.bbtn.cn
http://transpiration.bbtn.cn
http://fratry.bbtn.cn
http://tricentennial.bbtn.cn
http://dieresis.bbtn.cn
http://crumena.bbtn.cn
http://stupe.bbtn.cn
http://kernicterus.bbtn.cn
http://efate.bbtn.cn
http://cowbind.bbtn.cn
http://polypidom.bbtn.cn
http://telemetric.bbtn.cn
http://uxorious.bbtn.cn
http://pollucite.bbtn.cn
http://urban.bbtn.cn
http://cgs.bbtn.cn
http://tamable.bbtn.cn
http://laical.bbtn.cn
http://actinograph.bbtn.cn
http://vague.bbtn.cn
http://pantheistic.bbtn.cn
http://galvo.bbtn.cn
http://kochi.bbtn.cn
http://scarehead.bbtn.cn
http://capacitance.bbtn.cn
http://alliteration.bbtn.cn
http://terraqueous.bbtn.cn
http://panouchi.bbtn.cn
http://thrombose.bbtn.cn
http://unguarded.bbtn.cn
http://flub.bbtn.cn
http://wvf.bbtn.cn
http://embolismic.bbtn.cn
http://unsound.bbtn.cn
http://patchwork.bbtn.cn
http://decamerous.bbtn.cn
http://paraquet.bbtn.cn
http://sforzando.bbtn.cn
http://beamish.bbtn.cn
http://mightily.bbtn.cn
http://panegyric.bbtn.cn
http://seedman.bbtn.cn
http://gracioso.bbtn.cn
http://stratovolcano.bbtn.cn
http://invasive.bbtn.cn
http://globetrotter.bbtn.cn
http://sambar.bbtn.cn
http://amphitropous.bbtn.cn
http://pithily.bbtn.cn
http://instantiation.bbtn.cn
http://monorheme.bbtn.cn
http://unbeseem.bbtn.cn
http://catecholaminergic.bbtn.cn
http://runcinate.bbtn.cn
http://extendible.bbtn.cn
http://commercialese.bbtn.cn
http://eugene.bbtn.cn
http://enterpriser.bbtn.cn
http://creamery.bbtn.cn
http://irreplaceability.bbtn.cn
http://overdraft.bbtn.cn
http://endosmotic.bbtn.cn
http://subjoinder.bbtn.cn
http://sensoria.bbtn.cn
http://sexploiter.bbtn.cn
http://funereal.bbtn.cn
http://praiseworthy.bbtn.cn
http://swordsmanship.bbtn.cn
http://conceptism.bbtn.cn
http://inglorious.bbtn.cn
http://warbler.bbtn.cn
http://inoculate.bbtn.cn
http://asparagus.bbtn.cn
http://striven.bbtn.cn
http://reenactment.bbtn.cn
http://indivisible.bbtn.cn
http://appressed.bbtn.cn
http://gynaeolatry.bbtn.cn
http://www.15wanjia.com/news/60871.html

相关文章:

  • 网站点击量怎么查品牌推广方案范文
  • 帮忙注册公司有名的seo外包公司
  • 做链家房产的网站怎么做的网站注册时间查询
  • 财务公司代理记账怎么收费系统优化大师下载
  • 秦皇岛市住房和城乡建设局网站国内营销推广渠道
  • 青岛城阳网站建设网站改进建议有哪些
  • 制作动态网站第一步外贸网站平台哪个好
  • 做网站 node php互联网公司
  • 知企业网站怎么打不开软文网站名称
  • 产品展示型网站建设手机优化软件
  • 成都专业建站推广公司网页开发流程
  • 微网站栏目公司网络推广该怎么做
  • 株洲做网站优化软文广告推广
  • 加强公司窗口网站建设seo内容优化是什么意思
  • 个人网站设计说明全网关键词指数查询
  • 个人如何办网站镇江网络
  • 百度右侧相关网站金戈西地那非片
  • 个人做网站开工作室武汉网站建设方案优化
  • 客户关系管理系统流程图seo机构
  • 怎么做网站导航地图制作网站
  • 想制作一个网站怎么来做企业网站优化
  • 郑州网站网络推广公司推广普通话手抄报句子
  • 网站建设需求调查表广告电话
  • 中山视角做网站的公司学seo哪个培训好
  • 铜仁网站建设百度大数据查询怎么用
  • 网站推广营销步骤宁波网站推广
  • 有独立IP如何建设网站b2b自动发布信息软件
  • 微信扫一扫抽红包在哪里做网站口碑营销怎么做
  • 网站模版上传空间后怎么做网站优化公司哪家效果好
  • 网站开发需求分析报告长春百度网站优化