我正在尝试检查分数并输出谁曾获胜。黑色> 0,白色
GetValue(board) > 0 ? cout << "Black wins" : cout << "White wins";
最佳答案
您为什么不想使用变量?如果这样做,则可以使用复合三元运算符:
int val = GetValue(board);
cout << val == 0 ? "Tie" : (val < 0 ? "White wins" : "Black wins");
编辑:但是那不是一行,是吗? REAL一线,由lambda函数提供。
它还假定
GetValue
返回一个int。并要求using namespace std
为简洁起见。cout << vector<string>({"White wins", "Tie", "Black Wins"})[([](int x){return(0<x)-(x<0)+1;}(GetValue(board)))];
(也不要实际使用)
关于c++ - 仅通过一个函数调用输出分数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26208252/