c++ - if 中的多个语句是否与多个 if 相同?

标签 c++ c performance

if(a == 0 && b == 0 && c == 0) { return; }
一样
if(a == 0) { return; }

if(b == 0) { return; }

if(c == 0) { return; }
或者
if(a == 0) { return; }

else if(b == 0) { return; }

else if(c == 0) { return; }
我想编写快速的代码,并且对这些语句通常如何不同地解释为汇编指令很感兴趣。

最佳答案

if(a == 0 && b == 0 && c == 0) { return; }
这相当于:
if(a == 0)
  if(b == 0)
    if(c == 0)
      return;
鉴于,这两个:
//1
if(a == 0) { return; }
if(b == 0) { return; }
if(c == 0) { return; }
//2
if(a == 0) { return; }
else if(b == 0) { return; }
else if(c == 0) { return; }
相当于if( a==0 || b == 0 || c == 0){ return; } .

关于c++ - if 中的多个语句是否与多个 if 相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62736202/

相关文章:

c++ - 以线程安全方式每秒打印当前队列元素数

c++ - 模板函数中的无捕获 lambda 是否有多个二进制实现?

C代码随机化

c++ - 哪些文件包含 malloc() 和 new() 的实现?

c++ - SHA1 在 C++ 中返回不正确长度的散列

c++ - 如何压缩多个升压预处理器序列?

计算数字,直到获得所需的位数

python - 在 ListView 中更新保存模型与计数对象 - 性能方面哪个更好?

performance - slurp、空输入和输入过滤器之间的区别

javascript - 无法弄清楚为什么我的网站加载如此慢