func()
调用了3个不同的函数f1()
、f2()
、f3()
。
我的函数返回布尔值,逻辑 AND 为 3 个函数,
可以吗(正常(?
BOOL func(...)
{
//...
return ( f1() && f2() && f3());
}
请注意,内置operator &&
执行短路评估;即,如果f1()
返回false
则不会调用f2()
和f3()
。
如果这符合您的意图,那么代码看起来很好。
无论 f1、f2 和 f3 返回什么,这都是完全正确且有效的语法。但是,如果这些函数中的任何一个输出的内容可能转换为 false,则整个表达式的计算结果将为 false。
return ( f1() && f2() && f3());
如果调用 f1()
的返回值为 false,则f2()
f3()
永远不会被调用。