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

靖江网站整站排名优化公司

靖江网站,整站排名优化公司,wordpress火车头插件防重复,wordpress+任意下载1、为什么c要在c语言上增添命名空间的概念 在c语言中#xff0c;定义的全局变量与库中相同#xff0c;或者和别人代码结合的时候可能存在相同的命名#xff0c;此时就会命名冲突。c语言是没有办法很好的解决这个问题的。 假设这样一种情况#xff0c;当一个班上有两个名叫… 1、为什么c要在c语言上增添命名空间的概念 在c语言中定义的全局变量与库中相同或者和别人代码结合的时候可能存在相同的命名此时就会命名冲突。c语言是没有办法很好的解决这个问题的。 假设这样一种情况当一个班上有两个名叫 Zara 的学生时为了明确区分它们我们在使用名字之外不得不使用一些额外的信息比如他们的家庭住址或者他们父母的名字等等。 ​ 同样的情况也出现在 C 应用程序中。例如您可能会写一个名为 xyz() 的函数在另一个可用的库中也存在一个相同的函数 xyz()。这样编译器就无法判断您所使用的是哪一个 xyz() 函数。因此引入了命名空间这个概念专门用于解决上面的问题它可作为附加信息来区分不同库中相同名称的函数、类、变量等。使用了命名空间即定义了上下文。本质上命名空间就是定义了一个范围。 全 2、如何定义命名空间 ​ ::域作用限定符 把作用域限定在全局左边没有或者空格都行默认就是全局如果过你左边写了名字那么就是就是命名空间的域。namespace{}就是命名空间的用法。 #include stdio.h #include stdlib.h int rand 10; // C语言没办法解决类似这样的命名冲突问题所以C提出了namespace来解决 int main() {printf(%d\n, rand);return 0; } // 编译后后报错error C2365: “rand”: 重定义以前的定义是“函数”局部变量和局部变量可以重名函数里面优先使用局部变量找不到才是全局变量。 #include stdio.hint a 2; void fu() {int a 1;printf(%d, a);//1printf(%d,::a);//2 } 命名空间的定义 // bit是命名空间的名字一般开发中是用项目名字做命名空间名。 // 我们上课用的是bit大家下去以后自己练习用自己名字缩写即可如张三zs// 1. 正常的命名空间定义 namespace bit {// 命名空间中可以定义变量/函数/类型int rand 10;int Add(int left, int right){return left right;}struct Node{struct Node* next;int val;}; } //2. 命名空间可以嵌套 // test.cpp namespace N1 { int a; int b; int Add(int left, int right){return left right;} namespace N2{int c;int d;int Sub(int left, int right){return left - right;}} } //3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。 // ps一个工程中的test.h和上面test.cpp中两个N1会被合并成一个 // test.h namespace N1 { int Mul(int left, int right){return left * right;} }定义了命名空间里面的变量不能直接使用。 namespace bit {// 命名空间中可以定义变量/函数/类型int a 0;int b 1;int Add(int left, int right){return left right;}struct Node{struct Node* next;int val;}; } int main() {// 编译报错error C2065: “a”: 未声明的标识符printf(%d\n, a); return 0; }总结 各个文件链接展开后如果重名也会报错c语言无法解决这个问题 于是在c基础上添加了命名空间域只影响使用不影响生命周期。 多个文件中命名空间的名字可以一样他们会合并但是里面的变量名字你就不能一样了你要一样的就只能改成两个命名空间。或者可以在命名空间里面再嵌套一层命名空间访问时两个符号就可以了。 std是c标准库的命名空间using namespace std就是全局展开一般不建议这样。 3、使用命名空间的三种方式 1、制定命名空间访问std:: int main() {printf(%d\n, N::a);return 0; }2、全局展开using namespace std,一帮不建议全局展开 using namespce N; int main() {printf(%d\n, N::a);printf(%d\n, b);Add(10, 20);return 0; }3、常用部分展开 using std:: cout using N::b; int main() {printf(%d\n, N::a);printf(%d\n, b);return 0; }
http://www.pierceye.com/news/170156/

相关文章:

  • 北京驾校网站建设网络哪里能接活做网站
  • 建设网站公司排名西宁网站建设优化案例
  • 外贸网站推广有用吗网络服务投诉平台
  • 网站制作价上传下载网站模板
  • 注册网站会员 我们的信息淘宝上可以做网站吗
  • 建筑材料价格查询网站做网站从哪方面入门
  • 百度百科网站怎么做360优化大师app下载
  • 那些网站用不着做优化个人网站设计案例
  • wordpress怎么釆集文章杭州seo百度关键词排名推广
  • 网站地址解析做好系部宣传和网站建设
  • 单页网站建设做淘宝优惠网站步骤
  • apache建立多个网站仿卢松松博客网站源码
  • 婚恋网站上海网络推广需要多少钱
  • 网站建设规划方案ppt模板wap浏览器安卓版
  • 网站关键词优化教程成都展厅设计公司
  • 百度网站排名软件怎么做网站竞价
  • 设计素材网站校园二手市场网站建设
  • 电子产品网站设计asp做微网站
  • 网站内部优化建设温州 网站制作
  • 怎么自己做网站地图网站涉及敏感视频等该怎么做
  • 个人网站建设主要功能南京自助建站网站
  • 替别人做设计的网站商业空间
  • 做网站很赚钱吗郴州网站定制
  • 霞浦建站公司建设通是个什么网站
  • 帮企业建网站网络广告有哪些
  • 网站的访问量怎么查知名电子商务网站
  • 鸣蝉小程序制作平台南通seo排名公司
  • 建设网站都要学些什么网站开发承包合同
  • 网站搭建好了怎么上到服务器好看wordpress主题
  • 免费自己制作网站教程网站文字格式