首页  >   经验  >   双重取反!!的妙用以及条件判断if为什么效率很低

双重取反!!的妙用以及条件判断if为什么效率很低

查看 codexia 的博客 2015-06-25 21:21:28 2898
双重   取反  
手机阅读 | 转发赚积分
手机收藏 | 分享给好友
简介在研究memcpy_s函数内部原理时,发现!!的用法,第一反应以为是多此一举,但是仔细一想,太有意思了。然后在一个C++群里面讨论一番,越发的清楚,群友们都很有兴趣,很有意思,我也是在讨论中额外的总结出来一些东西。因为原本只是稍微这么一想,但是群友们疑问比较多,为了讲清楚,所以就更加深入的想想,比如想想具体应用场景等,收获颇丰。这个妙用,还确实可以带来很多好处,比如可以替换掉条件判断,这样就优化了代码,提高了代码执行效率,也让代码更加整洁优美,还可以实现额外的功能。超棒!!

    在研究memcpy_s函数内部原理时,发现!!的用法,第一反应以为是多此一举,但是仔细一想,太有意思了。然后在一个C++群里面讨论一番,越发的清楚,群友们都很有兴趣,很有意思,我也是在讨论中额外的总结出来一些东西。因为原本只是稍微这么一想,但是群友们疑问比较多,为了讲清楚,所以就更加深入的想想,比如想想具体应用场景等,收获颇丰。这个妙用,还确实可以带来很多好处,比如可以替换掉条件判断,这样就优化了代码,提高了代码执行效率,也让代码更加整洁优美,还可以实现额外的功能。超棒!!
    双重取反最基本的理解:
    !是对布尔值进行取反,真则变假,假则变真。在C/C++中,非零即真,零则为假。那么就有一个问题,你传入的值只要不是0就是真,那么你如何让bool值只接受0或1,而不要接受其他数字呢?
    第一感觉,那就是对传入的值if判断,如果不等于0或者1,则赋值为1。这样确实是可以的,那么,此时代码写起来是不是这样的:

int i=5;
if(i!=0 && i!=1)i=1;
     那么此时,代码是不是比较长,比较复杂了。不仅如此,

1.微信扫码
2.点击按钮,粘贴命令
自动刷新 手动刷新
命令:rd eY~D[ 复制
提示:如果您发送了命令,自动刷新会展开全文。自动刷新最多60秒,超过60秒请点击手动刷新。
创作不易,汗水不止!为防止劳动果实被爬虫窃取,开启了反爬机制,需要您发送命令继续阅读。取关会再次出现此提示。一段时间后出现此提示,请再次发送即可。如有问题,请加客服微信Freeme007处理。感谢您的理解。
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
文章标题:双重取反!!的妙用以及条件判断if为什么效率很低
文章地址:http://www.cjjjs.com/article/6252015282121736
转载到个人博客,请在文末带上右侧内容(含超链接):本文转载自:双重取反!!的妙用以及条件判断if为什么效率很低
收藏 0 点赞 0
公众号
微信赞赏
支付宝赞赏
领支付宝大红包
QQ群

相关阅读

  1. 双重取反!!的妙用以及条件判断if为什么效率很低 查找全网同类文章
  2. 教你如何解决VS2015的30天试用期已过即VS2015许可证已过期的问题 查找全网同类文章
  3. Linux源码笔记——感觉写的巧妙的代码 查找全网同类文章
  4. 在Win7上安装VS2015 RC(候选发布版)失败完美解决方法 查找全网同类文章
  5. 完全图解VS2017安装过程并演示VS2017创建Linux项目和调试 查找全网同类文章
  6. VS2015入门必备介绍,扫扫盲吧 查找全网同类文章
  7. 表白代码,你值得拥有 查找全网同类文章
  8. 图解VS2017的MSDN的安装方法和过程 查找全网同类文章
  9. VS2015配置安卓Android和iOS开发环境 查找全网同类文章
  10. VS2015正式版安装选项详细说明,揭露VS2015的功能细节 查找全网同类文章
分享到:
分享文章[双重取反!!的妙用以及条件判断if为什么效率很低]到QQ空间

相关阅读

猜您感兴趣