if

·cpp
#keywords

// 普通写法: int x = someFunction(); if (x > 0) { // ... }

// “内联”写法:cpp17之后允许
if (int x = someFunction(); x > 0)
{
    // ...
}

// 或更旧的风格(C++17 之前):
if (int x = someFunction())
{
    if (x > 0)
    {
        // ...
    }
}

新写法的好处:

变量的作用域(scope)仅限于该 if 以及其后紧随的 else 块之内,离开后就失效

这样做往往能让代码更紧凑,也避免污染外部作用域