如果说我有一个最终实现的功能,我可以这样做吗?

somefunction(data) ? cout << "This is true" << endl : cout << this false << endl;


还是我有点过?或用这样的操作数不可能吗?还是我可以调用其他函数?最终,我试图找出该功能的局限性以及其他在c ++教程站点中并未发现的用途。

std :: cout <
或其他人们可能想到的情况...

最佳答案

我会看Wikipedia。基本上它的语法是

condition ? trueOutput : falseOutput;


您也可以nest them。您可以输出任何值,但条件必须为布尔值。

因此,在您的情况下,它将是:

cout << (someFunction(data) ? "True" : "False") << endl;


然后,您甚至可以嵌套!

cout << (someFunction(data) ? "True" : (newTernary(data) ? "False, but true" : (finalTernary(data) ? "False, false, and finally true" : "Always false:("))) << endl;

10-05 23:42