C中是否有一些宏或优化技巧可以告诉程序:此if语句为true或false,但在第一次求值后,它的值始终相同,例如: 假设您要制作程序,该程序首先要解析一些参数,然后再花很长时间,每次迭代都必须以某种方式显示某些信息(由args选择),因此每次您都会询问是否(已经给出了一些args->这样的打印信息),否则(了另一种方式的print info),但是这种情况将始终为true或false,因为解析部分位于第一个,并且当您输入while时无法更改
答案 0 :(得分:0)
如果检查条件昂贵,并且您知道必须循环几次,则可以执行此操作。
if(Time_expensive_condition_check){
while(number_of_iterations){
//your code here
number_of_iterations = number_of_iterations - 1
}
}
但是,如果您的条件检查不是费时的并且只有O(1),则没有更多优化,因为在每次迭代中您都必须检查是否停止或继续循环。