我已经阅读了很多地方,但是我真的无法理解条件句中指定的行为。

我知道在赋值中它会评估第一个操作数,丢弃结果,然后评估第二个操作数。

但是对于此代码,它应该做什么?

CPartFile* partfile = (CPartFile*)lParam;
ASSERT( partfile != NULL );
bool bDeleted = false;
if (partfile,bDeleted)
    partfile->PerformFileCompleteEnd(wParam);

IF中的partfile是一个不必要的参数,还是有任何意义?

最佳答案

在这种情况下,它是不必要的表达式,可以在不更改代码含义的情况下将其删除。

关于c++ - 有条件的逗号运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4778709/

10-12 15:58