gpt4 book ai didi

c - &= 和 |= 是否有定义的评估顺序?

转载 作者:太空狗 更新时间:2023-10-29 17:09:44 24 4
gpt4 key购买 nike

如果您有一个返回整数的 C 函数,您可以编写如下语句:

MyInt &= MyFunc();

...我们在这里使用按位与赋值运算符。

问题是:是否保证 MyFunc() 被执行,即使 MyInt 等于零?

Likwise,如果我们使用按位或赋值运算符 (|=),即使 MyInt 被设置为全 1,MyFunc() 是否总是会被执行?

换句话说:对于按位运算符,C 中是否允许惰性求值?

最佳答案

没有。按位运算符没有短路。无论 MyInt 的值如何,MyFunc() 的执行都是有保证的。

关于c - &= 和 |= 是否有定义的评估顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1354138/

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