[問題] 想請問一個程式的問題

看板C_and_CPP (C/C++)作者 (問問問問問問問題)時間16年前 (2009/03/04 13:26), 編輯推噓7(7012)
留言19則, 9人參與, 最新討論串1/1
就是我看到一個程式,可是不太懂它的意思 就是 if(a && !b -> c() ) 這段大概是什麼意思,就是它的跑法,或判斷是什麼意思,謝謝喔 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.22.18.83

03/04 13:27, , 1F
b -> c 左邊那個 -> 和bc中間有空格嗎@_@"
03/04 13:27, 1F

03/04 13:28, , 2F
沒有的話, 就是如果a!=0, 而且 b的member func:c()的回
03/04 13:28, 2F

03/04 13:28, , 3F
值為0的話, 執行if為真時{}裡的程式....
03/04 13:28, 3F

03/04 13:35, , 4F
謝謝你,我會好好仔細看一下,大感謝
03/04 13:35, 4F

03/04 13:39, , 5F
有沒有空格沒關係吧....
03/04 13:39, 5F

03/04 13:41, , 6F
a == 0不執行if中述句
03/04 13:41, 6F

03/04 13:42, , 7F
a != 0 執行 b->c(); 回傳0則執行if中述句
03/04 13:42, 7F

03/04 14:35, , 8F
原來 -> 是比 ! 先 evaluate 的。 @@
03/04 14:35, 8F

03/04 14:45, , 9F
這方法以前板上談過了 不建議這麼做
03/04 14:45, 9F

03/04 15:01, , 10F
滿整人的
03/04 15:01, 10F

03/04 15:15, , 11F
這個不是很好的寫法 乍看之下會以為b->c()一定會執行
03/04 15:15, 11F

03/04 16:16, , 12F
short-curcuit evaluation ..... 多寫幾行會清楚點
03/04 16:16, 12F

03/04 16:32, , 13F
這種寫法可以保證一定shorthand嗎?不是by compiler的啊
03/04 16:32, 13F

03/04 17:11, , 14F
不是 by compiler
03/04 17:11, 14F

03/04 17:24, , 15F
short-curcuit evaluation 這特性很常用耶...
03/04 17:24, 15F

03/04 17:52, , 16F
如果沒被overload的話...
03/04 17:52, 16F

03/04 18:09, , 17F
謝謝大家的回答~~
03/04 18:09, 17F

03/04 18:14, , 18F
對不起我又犯傻了, 不太習慣ptr -> memb空格分開這樣Orz
03/04 18:14, 18F

03/04 18:45, , 19F
應該說沒見過有人把它分開的...
03/04 18:45, 19F
文章代碼(AID): #19hX40kT (C_and_CPP)
文章代碼(AID): #19hX40kT (C_and_CPP)