gpt4 book ai didi

c++ - 变量 = !!变量与变量 =(变量!= 0)

转载 作者:太空狗 更新时间:2023-10-29 23:24:33 27 4
gpt4 key购买 nike

我必须维护相当古老的 Visual C++ 源代码的大型代码库。我发现代码如下:

bIsOk = !!m_ptr->isOpen(some Parameters)

bIsOk的数据类型是boolisOpen(..)返回BOOL(定义为整数)

工程师告诉我,据说这是从 BOOLbool 的最有效方法。

那是对的吗?现在还是吗? 2019?

最佳答案

!! 的原因不是效率 - 任何体面的编译器都会将它编译成与任何其他非疯狂转换方式完全相同的东西,包括仅依赖隐式转换 - 但是它抑制了 compiler warning关于在 VisualStudio 中旧版本的 Microsoft 编译器中存在但在 VS2017 中被删除的隐式缩小为 bool

关于c++ - 变量 = !!变量与变量 =(变量!= 0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54832788/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com