gpt4 book ai didi

c - 强制 if 语句只执行一次

转载 作者:行者123 更新时间:2023-12-03 18:28:31 33 4
gpt4 key购买 nike

我有一段将被执行多次(5,000+)的代码,以及一个仅在第一次为真的 if 语句。我曾想过使用“FIRST”变量并每次都进行比较,但每次都检查它似乎是一种浪费,即使我知道它不需要。

bool FIRST = true;

void foo(){
if(FIRST){
/* do something only once */
FIRST = false;
}
/* something something... */
}
我也不知道是否有一些编译器优化可以自动执行此操作,或其他方法;如果有,请告诉我。
是的,我知道仅仅一个 if 语句并不是什么大事,但它只会让我很恼火。

最佳答案

如果您使用 gcc,则有名为 unlikely 的宏和 likely这可以允许它根据条件进行优化。
在您的情况下,条件只会在第一次为真,因此您可以使用 unlikely :

if (unlikely(FIRST)) {

关于c - 强制 if 语句只执行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63182926/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com