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

微信h5商城网站开发故宫网站建设

微信h5商城网站开发,故宫网站建设,上海网站建设高端,网站建设案例信息目录 冲突与命名#xff1a; 举个例子#xff1a; 全局与局部#xff1a; 域作用限定符#xff1a; 命名空间域#xff1a; 冲突与命名#xff1a; 在C语言中#xff0c;我们通常会使用stdlib.h 而stdlib.h 本质上是一个函数的库#xff0c;在程序中使用的大多数…目录 冲突与命名 举个例子 全局与局部 域作用限定符 命名空间域 冲突与命名 在C语言中我们通常会使用stdlib.h  而stdlib.h 本质上是一个函数的库在程序中使用的大多数函数都来自于stdlib.h 但是当使用久了便会发现一个问题那便是命名冲突 举个例子 #includestdio.h #includestdlib.hint rand 10; int main () { printf(%d\n,rand); } 结果显而易见因为rand在stdlib.h中是一个函数所以在使用stdlib.h将程序进行扩展后你命名的变量极有可能会因为和函数名重复而造成冲突但我们又不明白那些是函数那些又不是函数所以这个问题一直是C语言的不足之处 全局与局部 在之前的学习中我们得知当一个变量名同时为全局变量和局部变量时编译器则优先选择局部变量也就是所谓的就近原则。 这其实和编译器的工作原理有关编译器在查看到变量的存在的同时会在局部区域内搜寻变量的存在若该变量不存在于局部区域编译器则会从全局的范围内搜寻变量是否存在如果还是不存在则编译器发生报错。 #includestdio.h #includestdlib.hint x 0; int main () { int x 1;printf(%d\n,x); } 但是当我们不想要使用局部变量进行打印想要使用全局变量进行打印和使用时又该怎么办呢 域作用限定符 :: 作为域作用限定符:: 的左边写域名而右边则写变量名当左边为空时默认为全局变量。 #includestdio.h #includestdlib.hint x 0; int main () { int x 1;printf(%d\n,x);printf(%d\n,::x); } 使用域作用限定符后打印出的结果便是我们想要的全局变量。 而域作用限定符的工作原理就是在编译器进行搜索前给编译器指定一块搜索区域也就是让编译器在指定的区域内部搜索若得出结果则停下得不到则继续遵循就近原则。 命名空间域 通过域作用限定符我们可以在局部变量名和全局变量名重名时使用全局变量名但仅仅只是如此吗 当然不是为了更方便的使用域作用限定符或者说更好的调用其他范围内的变量我们可以才用命名空间域 namespace 空间名{} 如上代码所示命名空间域的作用就是将需要调用的变量封装起来并且定义空间的名字方便摆放在 域作用限定符的 左边 以便使用。 #includestdio.h #includestdlib.hnamespace bit1 {int x 0; }namespace bit2 {int x 1; }int main () { printf(%d\n,bit1::x);printf(%d\n,bit2::x);return 0; } 而且命名空间域可以将内部的变量和外部进行隔离这使得在同一个区域内即使变量名一样它们也不会发生报错因为它们分别被命名空间域封装了。 当然命名空间域的作用不止如此它的内部还可以存放其他函数或者结构体。 #includestdio.h #includestdlib.hnamespace bit1 {int x 0;int ADD (int left , int right){return leftright;} }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 的命名空间域它内部的变量就相当于全局变量. #includeiostreamusing namespace std;int main() {cout hello world endl;return 0; } std 这里面的std表示的是所有c库的命名空间iostream 这个是c的命名库所在的文件名但是它还被std这个命名空间封装了所以如果不使用using namespace std 就不能展开命名空间就用不了这个库中的内容。 如果不展开空间则只能使用这种方式
http://www.pierceye.com/news/211894/

相关文章:

  • 成都私人网站制作卓越网站建设的优点
  • 做网站下载别人的图算不算侵权源码之家免费
  • 宁夏住房城乡建设厅网站应用网站建设
  • 宾馆网站建设网站建设管理规范
  • 内部网站建设的步骤过程选择邯郸做网站
  • 国外免费外贸网站dw网页制作教程个人网站
  • 西安建设局网站地址室内设计效果图一套方案
  • php 建网站电子商务网站建设项目规划书
  • 常熟建设局网站代理办营业执照的公司
  • 济南网站关键词优化公司如何制作网站赚钱
  • 长春旅游网站开发360投放广告怎么收费
  • 微信公众号做网站卖东西静态化网站的缺点
  • 网站空间购买今天的新闻头条最新消息
  • 网站制作教程图解怎么解压wordpress
  • 唐山市城市建设规划局网站腾讯云建设一个网站要多少钱
  • 邢台集团网站建设费用聚牛建设网站
  • 如何创建电子商务网站学校网站设计首页
  • 扬州建设投资集团网站世界总人口实时数据
  • 沧州制作网站食品商务网-网站建设
  • 0592 网站建设模板网站建设+百度
  • 请人做个网站多少钱免费商城app
  • 网站建设包括哪些方面?手游源码网站
  • 机关门户网站建设管理情况软件开发工具都有哪些
  • 官方网站建设专家磐石网络wordpress对应的id
  • 学生自做网站优秀作品徐州企业建站模板
  • 网络电子商务购物网站idc机房建设
  • 网站单页seo个人服务器网站备案
  • 装修队伍做网站做机票在线预订网站
  • 手机版企业网站php山西建设执业注册中心网站
  • 南充网站建设略奥科技凡科建站电话