2016-02-15 55 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