如果您有一个返回整数的 C 函数,您可以编写如下语句:
MyInt &= MyFunc();
...我们使用按位与赋值运算符的地方。
问题是:MyFunc() 是否保证被执行,即使 MyInt 等于 0?
同样,如果我们使用按位或赋值运算符 (|=),是否会始终执行 MyFunc(),即使 MyInt 设置为全 1?
换句话说:在 C 中是否允许对位运算符进行惰性求值?
如果您有一个返回整数的 C 函数,您可以编写如下语句:
MyInt &= MyFunc();
...我们使用按位与赋值运算符的地方。
问题是:MyFunc() 是否保证被执行,即使 MyInt 等于 0?
同样,如果我们使用按位或赋值运算符 (|=),是否会始终执行 MyFunc(),即使 MyInt 设置为全 1?
换句话说:在 C 中是否允许对位运算符进行惰性求值?