首页 > 解决方案 > C++ 中的双感叹号 (!!) 是否会花费更多 CPU 时间?

问题描述

我知道进行布尔转换是一个技巧。我的问题主要是关于以这种方式编写时的资源成本。将编译器忽略“!!” 并直接进行隐式布尔转换?

标签: c++compiler-optimization

解决方案


如果您有任何疑问,可以检查生成的程序集;注意到在汇编级别无论如何都没有布尔类型这样的东西。所以是的,它可能已经全部优化了。

根据经验,混合类型因此需要类型转换的代码会运行得更慢,尽管这被另一个经验法则掩盖了,即编写清晰的代码


推荐阅读