c/c++语言开发共享正在使用’!!’ 在C / C ++中的良好实践并且它很常见吗?


可能重复:
C ++代码中的双重否定

据我所知,没有C / C ++书籍教程或手册提到这种技术。 也许是因为它只是一个小小的东西,不值得一提。

我使用它是因为C / C ++将bool类型与int,long,pointer,double等混合在一起。 需要将非bool转换为bool是很常见的。 使用(bool)值来做这件事是不安全的,所以我用!! 去做吧。

例:

 bool bValue = !!otherValue; 

    我想!! 与其他一些选择相比,这是非常明确的,例如:

     if (foo) bar = 1; else bar = 0; 

    还是bar = foo ? 1 : 0; bar = foo ? 1 : 0;

    !! 做了一件事,我发现它非常明确。

    没关系,任何C或C ++程序员都应该认识它,但我更喜欢更明确的东西

     (x != 0) 

    在这个确切的情况下:

     bool bValue = !!otherValue; 

    你不需要写!! 。 没有它们它会正常工作:

     bool bValue = otherValue; 

    我认为在大多数情况下隐式转换会很好。

      以上就是c/c++开发分享正在使用’!!’ 在C / C ++中的良好实践并且它很常见吗?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/545928.html

      (0)
      上一篇 2021年1月10日
      下一篇 2021年1月10日

      精彩推荐