gpt4 book ai didi

c++ - 仅通过一次函数调用即可输出分数

转载 作者:行者123 更新时间:2023-11-27 23:02:43 27 4
gpt4 key购买 nike

我正在尝试检查分数并输出谁赢了。黑色 > 0,白色 < 0,并且平局 == 0。我应该如何查看 GetValue(board) == 0 而无需再次调用我的函数或使用其他变量?

GetValue(board) > 0 ? cout << "Black wins" : cout << "White wins"; 

最佳答案

你为什么不想使用变量?如果这样做,您可以使用复合三元运算符:

int val = GetValue(board);
cout << val == 0 ? "Tie" : (val < 0 ? "White wins" : "Black wins");

编辑:但这不是一行,是吗?真正的 one liner,由 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com