作者askaskaskask (問問問問問問問題)
看板C_and_CPP
標題[問題] 想請問一個程式的問題
時間Wed Mar 4 13:26:23 2009
就是我看到一個程式,可是不太懂它的意思
就是
if(a && !b -> c() )
這段大概是什麼意思,就是它的跑法,或判斷是什麼意思,謝謝喔
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.22.18.83
1F:→ VictorTom:b -> c 左邊那個 -> 和bc中間有空格嗎@_@" 03/04 13:27
2F:→ VictorTom:沒有的話, 就是如果a!=0, 而且 b的member func:c()的回 03/04 13:28
3F:→ VictorTom:值為0的話, 執行if為真時{}裡的程式.... 03/04 13:28
4F:→ askaskaskask:謝謝你,我會好好仔細看一下,大感謝 03/04 13:35
5F:推 legendmtg:有沒有空格沒關係吧.... 03/04 13:39
6F:→ legendmtg:a == 0不執行if中述句 03/04 13:41
7F:→ legendmtg:a != 0 執行 b->c(); 回傳0則執行if中述句 03/04 13:42
8F:→ MOONRAKER:原來 -> 是比 ! 先 evaluate 的。 @@ 03/04 14:35
9F:推 chrisdar:這方法以前板上談過了 不建議這麼做 03/04 14:45
10F:→ MOONRAKER:滿整人的 03/04 15:01
11F:→ stonehomelaa:這個不是很好的寫法 乍看之下會以為b->c()一定會執行 03/04 15:15
12F:推 ledia:short-curcuit evaluation ..... 多寫幾行會清楚點 03/04 16:16
13F:→ MOONRAKER:這種寫法可以保證一定shorthand嗎?不是by compiler的啊 03/04 16:32
14F:推 ledia:不是 by compiler 03/04 17:11
15F:推 TroyLee:short-curcuit evaluation 這特性很常用耶... 03/04 17:24
16F:推 legnaleurc:如果沒被overload的話... 03/04 17:52
17F:→ askaskaskask:謝謝大家的回答~~ 03/04 18:09
18F:推 VictorTom:對不起我又犯傻了, 不太習慣ptr -> memb空格分開這樣Orz 03/04 18:14
19F:→ stonehomelaa:應該說沒見過有人把它分開的... 03/04 18:45