C++ ( &&, ||)中的用户重载逻辑运算符的行为类似于常规函数。也就是说,bool operator&&(const T &a, const T2 &b);中的两个参数都是在进入函数之前计算的,因为进入函数是C++中的序列point1。一切都好到这里。现在,“内置运算符&&和||执行短路评估”2,其中左侧和右侧之间有一个序列点。引
我无法在Python中生成示例,该示例显示了布尔运算符优先规则与短路评估的组合。我可以使用以下命令来显示运算符的优先级: print(1 or 0 and 0) # Returns 1 because `or` is evaluated 2nd.('nope')
print(yay() or nay() and nope()) # Prints "yay\nTrue" 当or之前的表达式为True时,对于4种可能性中的