2013-05-10 72 views
0

這是關於我想要使用的一些代碼的一個簡短問題,但我沒有清楚一切。兩個布爾代碼之間的差異

這是否:

return <SOMETHING> == <SOMETHING ELSE>; 

這:

if (<SOMETHING> == <SOMETHING ELSE>) 
    return true; 
else 
    return false; 

意味着同樣的事情?

感謝所有將時間放在這裏的人。乾杯:)

+0

你的意思' == '或已知是在編譯時等於兩個值? – 2013-05-10 16:37:47

+0

是的,我爲那個錯誤感到抱歉。問題現在被編輯。 – Etrit 2013-05-10 16:39:15

+0

通過編輯,兩者現在相當。這取決於您的偏好使用。 – Murkaeus 2013-05-10 16:52:48

回答

1

首先將返回評價

return <SOMETHING> == <SOMETHING>; 

的實際結果,但第二個可以用來發送評估或評估的倒數。

if (<SOMETHING> == <SOMETHING>) 
    return true; 

if (<SOMETHING> == <SOMETHING>) 
    return false; 
+0

如果你只想返回表達式的反轉,只需在它前面放一個'!',或者在這種情況下,只需使用'!='而不是'=='。唯一真正的區別是第二個例子只是有條件地返回。 – Servy 2013-05-10 16:41:46

10

你的第一行會返回不管。
只有條件爲真時,您的第二行纔會返回;如果條件爲假,該函數將繼續執行。

你的第一行是相當於

if (<SOMETHING> == <SOMETHING>) 
    return true; 
return false; 

(或者與else


EDIT:是;究竟。的上述

+0

如果 否則 是我真正(或虛假)。 謝謝你:) – Etrit 2013-05-10 16:41:20

+2

注意:這個答案對原始OP是正確的;然而,OP已經以這種方式進行了編輯,使得這個答案不再正確。 (OP增加了一個'else'子句。) – 2013-05-10 16:52:31

1
return <SOMETHING> == <SOMETHING>; 

替代是

if (<SOMETHING> == <SOMETHING>) 
    return true; 
else 
    return false;