什么','在语法中意味着什么?

Que*_*est 2 c++ if-statement

我正在寻找一些例子,我不知道这意味着什么:

if(FileExistsA("File.ext"), false)
{
     ....
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下吗?

Dai*_*Dai 7

在C和C++中(但不是C#或Java),逗号运算符 ' ,'计算左表达式和右表达式,但只返回正确的表达式.

在这个例子中:

bool x = (true, false);
// x == false

bool y = (false, false, true)
// y == true
Run Code Online (Sandbox Code Playgroud)

在您的情况下,if( FileExistsA("File.ext"), false )永远不会遵循其分支,因为逗号运算符确保false结果.

更新我忘了=和的优先权,.我将上面的表达式包装在括号中,以防止表达式被评估为(bool x = true), false === false.

  • 并且可能是`,fasle`在调试期间添加,或修复一些错误 (2认同)