c - 第一次评估后始终具有相同值的 if 语句的优化
问题描述
C 中是否有一些宏或优化技巧可以告诉程序:这个 if 语句将是真或假,但在第一次评估后它总是具有相同的值,例如:假设您要制作程序,这将在首先解析一些参数,然后在很长一段时间内,每次迭代你必须以某种方式显示一些信息(由给定的参数选择),所以每次你都会问是否(一些参数已经给出 -> 打印信息这种方式),否则(以另一种方式打印信息),但此条件将始终为真或假,因为解析部分在第一个并且在您输入时无法更改。
解决方案
如果检查条件很昂贵,并且您知道必须循环多少次,则可以执行此操作。
if(Time_expensive_condition_check){
while(number_of_iterations){
//your code here
number_of_iterations = number_of_iterations - 1
}
}
但是,如果您的条件检查不费时而且只有 O(1),那么就没有更多的优化,因为在每次迭代中,您必须检查是停止还是继续循环。
推荐阅读
- identityserver4 - 如何使用带有 Bearer 令牌的 HttpClient 访问 [Authorize] 控制器操作?得到401“观众无效”
- python - Pandas 找到所有用户都访问过的不同目的地
- javascript - 如何在服务器和客户端上设计 Firestore 关系
- excel - 使用 VBA 激活打开的 MS Access 文件以发送密钥
- c# - 为什么我在服务器应用程序中需要两个套接字?
- java - 如何在 linux 服务器上禁用 JDWP 接口?
- angular - 如何使用 Angular 错误处理获取控制台上出现的 CORS 错误?
- php - 单击按钮时返回每个查询的记录
- python - Python。Replace() 不会替换任何东西
- flutter - 软键盘打开时小部件溢出