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

信息公开和网站建设工作总结在线文档 wordpress

信息公开和网站建设工作总结,在线文档 wordpress,内容营销策划方案,自建app免费制作平台一、空值 在提到c/c的空值时#xff0c;先扯远一些。谈一谈数学中的0#xff0c;0的出现要晚于其它的数#xff0c;而0的出现却引发了数学的极大的发展和进步。而在计算机科学中#xff0c;在使用一个变量时#xff0c;它的值的可能性有很多#xff0c;其中#xff0c;…一、空值 在提到c/c的空值时先扯远一些。谈一谈数学中的00的出现要晚于其它的数而0的出现却引发了数学的极大的发展和进步。而在计算机科学中在使用一个变量时它的值的可能性有很多其中就有可能会是啥都没有。一定会有很多有经验的开发者明白不给变量赋值并不代表变量没有值而是这个值可能是0也可能是随机值。这就有可能在第一次使用时出现一些意外的情况。所以变量一定要给予初始赋值几乎成为了一条开发者必须遵守的规则。 既然要赋值那提到的啥都没有怎么表示呢对就是空值。在数学中0代表着没有值这不正好就是空值么所以就简装的移植到了计算机科学中。所以在C/C中0就代表了空值。为了更好的表示这个空值给它取了一个别名NULL。 二、NULL和nullptr 先看一下在常用的情况下如何使用空值代码如下 #define ABC NULL int main() {int * ptr NULL;return 0; }是不是由此觉得不过而已就是一个简单的值的定义么。OK确实如此。但细节要出来了先看一下NULL的定义 #ifndef NULL#ifdef __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif #endif上面的代表有两个问题一是为什么NULL在不同的语言中定义不同二是为什么要把指针定义为空值。后者比较好回答指针的地址指向空0则表示进入了安全管理区域直接在开发中应用编译器会报一个异常出现可以理解成类似于“陷阱”的东西。而前者说起来就比较麻烦了。 先从标准本身来看早期的c标准03以前规定空指针常量是一个整数类型的右值常量表达式其结果为必须为0。同时要求其必须可以转换为相对应的指针类型并可以与其它指针类型如对象或函数指针区别开来。然后它规定还必须可以判断两个同类型的空指针相等。而C的标准规定值为0的常量表达式或者可以转换为void*的表达式称为空指针常量而如果将空指针常量转换为指针类型其生成的类型指针必须能与其它对象或函数指针不同。 所以说定义规定的不同自然就会有编译器支持的相关不同。这个要理解明白。因此在C和C中处理NULL就需要重定定义一下否则可能出现编译的问题。 所有的开发者都明白的是一个语言如果长期保持与其它语言的兼容势必带来更多的技术负担。所以c做为一个后来者完全可以自行定义一个空指针而不必强力要求必须与C兼容当然说和做是不是一回事编译器厂商也不是铁板一块。这时就提出了nullptr. nullptr为什么会出现主要有几个原因 1、为了保持C标准的独立性 2、为空值提供一个专有名字并成为一个保留的关键字 3、能够区别于C中这种整数与空的混用即无法在算数表达式中运算 4、支持标准中的提到的可以转换成任何类型的指针类型而无法被转换为其它非指针类型 5、支持C异常机制指针类型虽然不建议使用异常机制 三、NULL和nullptr的比较 0做为一个整数又代表空值这让开发者和维护者更让编译器处理起来比较麻烦。他们需要根据不同的上下文来判断这个0到底是整数0还是一个指针的空值。而将NULL定义为0从上面的代码可以看出它其实就是一个宏定义。 宏定义的缺点对开发者们并不陌生。在近些年的C/C编程中一个重要的推荐方法就是在程序中尽量避免使用宏。 另外使用NULL时如果单纯从后面应用很难简单的判断出其为一个整数还是一个指针。对于模糊的东西不光是开发者编译器也会进一步的增加判断条件这样的结果其实是一个不友好的现象。也不符合设计原则中的单一职责或许本来就应该是你是你我是我而不需要再通过一个ID来区分你我的不同。这等于是徒耗精力和时间。 同样对于这种定义不清晰的标准不同的编译器厂商可能就会有不同的理解那么产生的结果可能就有所不同。这也是为什么在Windows上编译没有问题的代码可能到Linux上编译就有问题排除不同接口定义不同。这对于开发者来说其实是一件很痛苦的事情维护着不同的平台的相同功能的代码很可能会导致一些意外的“惊喜”。 而如果引入nullptr,则不必再考虑这些问题桥归桥路归路大路朝天各走一边。你的问题就是你的问题不要找我的问题。界线清晰了无论是开发者还是编译器其实都喜欢这种清爽的风格。 四、总结 后发语言往往能看到借鉴语言的缺点和优点。这和学习一样有前人的经验会进步更快。所以从这一个小的问题可以引申出来很广大的思考。从细节的区分到设计模式、原则和设计思想的改变。这就是老师经常说的“把薄书读厚了”。
http://www.hkea.cn/news/14566191/

相关文章:

  • 短租网站那家做的好处wordpress主体功能对比
  • 网站手机验证码注册怎么做湖南建设人力资源湖南网站建设
  • php mysql网站开发全程实例.pdf新余建网站
  • 百度网站域名注册网站开发和软件开发的区别
  • 建站记录查询微信管理
  • dw网站的站点建设微信游戏网站开发
  • 火星免费建网站wordpress网站刷新
  • 腾讯风铃怎么建设网站中国室内装饰网
  • 北堂网站制作做设计图的网站
  • 做网站没赚到钱广告做网站
  • 网站 怎么做百度才能搜索出来怎么创立网站
  • 丰都专业网站建设公司网站站长登录方式
  • 做专题页的网站2008iis 网站 打不开
  • 一个空间建多个网站的方法市桥网站建设
  • 哪个兄弟给个地址呀太原关键词优化服务
  • 直播间网站开发wordpress占用id
  • 网站上的链接怎么做wordpress显示未登录
  • 专业性行业网站有哪些阿里云空间+1对1私人专属设计师
  • 网站推广需求要素如何建一个自己的网站
  • 对接空间站网站开发的计划书
  • 网站怎么在百度做推广方案玉树市wap网站建设公司
  • 最好的微网站建设公司推荐南京住房和城乡建设部网站
  • 百度网站服务器建设工程管理有限公司
  • 江苏建设信息官网网站在线crm系统crm
  • 微梦网站建设加大整合力度网站集约建设
  • 做网站设计前景怎么样什么网站比较少人做
  • 计科专业毕设做网站广州做网站优化公司报价
  • 网站做等保备案有机农产品网站开发方案
  • 沈阳做网站的公司常州网站建设czyzj
  • 电子购物网站建设目的企业站seo价格