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

dede网站版权信息标签找电子产品组装代加工

dede网站版权信息标签,找电子产品组装代加工,免费网络推广软件,电子政务平台官网1、尽量用const enum inline替换#define 因为#define是做预处理操作,编译器从未看见该常量,编译器刚开始编译,它就被预处理器移走了,而#define的本质就是做替换,它可能从来未进入记号表 解决方法是用常量替换宏 语言…

1、尽量用const enum inline替换#define

因为#define是做预处理操作,编译器从未看见该常量,编译器刚开始编译,它就被预处理器移走了,而#define的本质就是做替换,它可能从来未进入记号表

解决方法是用常量替换宏

语言常量会被编译器看到,会进入记号表内

#define不注重域的范围,而const可以,#define不能定义类常量,也不能提供封装性,比如private等

用#define定义“函数”问题会非常大

int a = 5, b = 0;

#define CALL_WITH_MAX(a, b) f((a) > (b) ? (a) : (b))

如果调用CALL_WITH_MAX(++a, b); //a会累计加两次,(++a) > (b) ? (++a) : (b);

因为++a > b,所以使用++a的值(三目运算符)

如果调用CALL_WITH_MAX(++a, b + 10);就会累计加一次,因为a < b了,所以取值b,之加了一次

在迭代器中,若迭代器不做值修改那么可以用const_iterator,以此提高性能

例如:

const std::vector<int>::iterator iter = vec.begin();//iter的作用类似于T* const

*iter = 10;//正确

++iter;//错误

std::vector<int>::const_iterator citer = vec.begin();//iter的作用类似于const T*

*citer = 10;//错误

++citer;//正确

const加在返回值身上:

const Rational operator* (const Rational& lhs, const Rational& rhs);

如果不加,那么我可以写成:Rational a, b, c;

(a * b) = c;//而a*b返回的是一个右值

 

 

http://www.yayakq.cn/news/416781/

相关文章:

  • 网站自动弹窗代码在线动画手机网站模板下载
  • 网站建设语言什么语言哈尔滨市做网站公司
  • 网站开发基本构成直播做ppt的网站
  • 淘宝客建站还能赚钱吗阿里云网站备案要多久
  • 个人微信网站怎么做可以做图片视频的网站
  • 网站主持人制作延吉市建设厅网站
  • 网站开发语言怎么看返利商城网站怎么做
  • 海南论坛网站建设做网站f12的用处
  • 龙岗网站开发办网站用什么证件
  • 做网站培训班南京网络公司排名兴田德润
  • 上海网安网站建设天津seo诊断
  • 可以做围棋习题的网站wordpress视频站
  • 宝安区建设网站我要免费建立一个网站吗
  • 拓者设计吧网站官网广东建设公司网站
  • 网站建设在那里接单工作用什么邮箱比较正式
  • 建设部网站怎么查安全员网站服务器ip
  • 网站设计的内容关于重新建设网站的申请表
  • 济南网站怎么做汉高建设公司网站
  • 对网站访客做简要分析郑州手机网站建设多少钱
  • 合肥高新城创建设投资有限公司网站Wordpress报价主题
  • 如何网站后台清理缓存企业销售型网站是什么
  • 网站建设软著wordpress后台文章排序
  • 网站建设百灵鸟响应式网站设计原理
  • 从零学做网站电商网站建设流程图
  • 再高权重网站加自己的链接会容易被收录吗旅游网站的功能设计
  • 网址ip地址域名济南网站优化seo
  • 台州网站建设方案服装定制创业计划书
  • 网站视频怎么做的怎么显示wordpress里元素的源代码
  • 北京华夏建设有限公司网站邯郸中材建设有限责任公司网站
  • 环保网站建设的目的邀请注册推广赚钱的app