如何使用短路和?:运算符模拟foo() || bar()和foo() && bar()? 我是一名学生,从未使用过?:运算符,我想尝试一下。(things to do if true) : (things to do if false); 如果不使用&&和||,这有可能实现吗?我正在努力控制短路,因为我对它非常陌生,期末考试就要来了!
C++ ( &&, ||)中的用户重载逻辑运算符的行为类似于常规函数。现在,“内置运算符&&和||执行短路评估”2,其中左侧和右侧之间有一个序列点。引用的参考文献并不清楚什么是“内建”,只是它们接受bool操作数,或者使用“上下文转换为布尔值”来转换它们。它还提到,只有“两个标准库类重载了这些运算符,因为短路属性(...)不适用于重载,因为具有布尔语义的类型并不常见。“2
使用布尔语义的类型?“内置运算符”到底是如何工作