C/C++只比较一次

前端之家收集整理的这篇文章主要介绍了C/C++只比较一次前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Avoiding if statement inside a for loop?4个
我有一个while循环,我想只进行一次特定操作,并为所有其他循环运行执行不同的操作.
while (..) {
  if ( 0 == count ) {
       // do_this
  } else {
       // do_that
  }
  count++;
}@H_403_4@ 
 

这里,count只需要与0进行一次比较,但在每次循环运行中都需要进行不必要的比较.有没有另一种方法,比较只发生一次,一旦成功不再被调用

解决方法

要么在循环之前为count == 0做事,要么就是不可能(因为它正处于正在完成的其他事情的中间)只是编写你的代码是人类可读的,任何一半不错的编译器都会想出来您.或者它不会弄明白,cpu中的分支预测器将完成这项工作.无论哪种方式,像这样的纳米优化很可能会花费你更多的时间来阅读代码,而不是节省执行时间.

猜你在找的C&C++相关文章