嗨,我是c ++的新手。我想知道这意味着什么?

时间:2014-11-07 03:45:54

标签: c++

有人可以告诉我这句话是如何运作的。我可以理解,两个整数被定义为bestibestSADbestSAD值取决于条件(last ==-1),如果为真,则等于MAX_UINT,如果不等于psList[last].getSAD(sElement)。但结果并没有证实这一点。

int besti = last, bestSAD = (last == -1) ? 
     MAX_UINT : psList[last].getSAD(sElement);

将这些放在一个声明中有什么好处? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

与以下内容相同:

int besti;
int bestSAD;

besti = last;

if ( last == -1 )
    bestSAD = MAX_UINT;
else
    bestSAD = psList[last].getSAD(sElement);

MAX_UINT不是标准C ++的一部分,它可能是您未在某处显示的头文件中定义的内容。如果它们意味着UINT_MAX,那么这一行会导致实现定义的行为(编写此代码的人可能会假设它将生成bestSAD == -1,但这并不能保证。)