"IF" 语句中存在多个条件时的执行顺序

Order of execution in "IF" statement when multiple conditions present

我必须使用 if 语句检查 3 种方法的结果。如果方法 1 为真,那么我只需要调用方法 2,如果方法 2 为真,那么我只需要调用方法 3。目前我正在为此目的使用以下代码。

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";
}

结果是一样的,因为&&是一个短路运算符。这意味着如果第一个操作数的计算结果为 false,则不会计算第二个操作数。