2016-02-15 29 views
-1

我不想做这个线程,因为它看起来那么微不足道,但我找不到这个语法的任何地方的解释:在整数后声明<10?

int relStack=table->getStack(getAIPlayer())/double(table->getCostToCall())<10; 

它似乎有矛盾我宣布一个整数,然后状态“< 10”?这个程序目前没有功能,所以我不能运行它来测试这个或任何东西。

谢谢。

+1

由旧计时器编写的代码很可能是习惯于表示布尔值的唯一方法的日子,它是用'int'表示的。但说实话,你最好问问他们,而不是在这里张贴问题。 – MrEricSir

回答

1

/运算首先得到评估,然后在<运营商进行评估。所以答案是1或0,这取决于除法是否产生小于10的结果。

2

语法可能非常好,这就是他们正在尝试做的事情。但他们本来可以选择bool,而不是int

因为什么代码的作用是:relstack要么将​​被设置为()如果结果(A/B)是低于10,或 (假)除此以外。

在你还没有显示的代码后...有可能是这样的

if (relStack) 
    cout << "do this"; 
else 
    cout << "do smt else"; 
+0

啊,我明白了,我没有想到int能够存储真/假值,这有道理,谢谢。 –

+1

你可能会提到的一件事是_why_这个没有用_if-statement_或者ternary运算符实现。答案很可能会绕过分支预测。 – paddy