我必须使用if语句检查3个方法的结果。如果method1为true,那么只需要调用method2,如果method2为true,那么我只需要调用method3。目前我正在使用以下代码。
if(method1())
{
if(method2())
{
if(method3())
{
cout << "succeeded";
}
else
{
cout << "failed";
}
}
else
{
cout << "failed";
}
}
else
{
cout << "failed";
}
我想只使用一个if语句并调用其中的所有3个方法。所以我想的是以下方式。以下代码是否与上述代码相同或不同?
if(method1() && method2() && method3())
{
cout << "succeeded";
}
else
{
cout << "failed";
}
答案 0 :(得分:2)
结果将是相同的,因为&&
是短路运算符。这意味着如果第一个操作数的计算结果为false,则不会计算第二个操作数。