看板 C_and_CPP 關於我們 聯絡資訊
想請問版上各位先進 Static binding v.s. dynamic binding 的優缺點 因為既然已經有Static binding 了 如果各個class 有相同的member function 就直接各自override redefinition就好 而且若只單純用static binding derived class 有需要時 還可以指定呼叫base class 被override的member function 雖然上述功能 似乎有點雞肋 但static binding執行速度也是比dynamic binding 來的快 為何還要弄個dynamic binding 立意何在? 有先進可以解釋一下 在實際設計上的優缺點嗎? -- CyberPanel 5000CP 換 NT.500 http://myurl.com.tw/05bd EmailCash 5000e 換 NT.500 http://myurl.com.tw/rgdq -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.212.37
azureblaze:因為只有dynamic才能在執行期才決定要呼叫哪個函數 09/11 01:44
POSIX:interface @@ 09/11 01:54
nikeasyanzi:我知道用dynamic binding是在runing time 決定 09/11 10:13
nikeasyanzi:但就算有這特性 但何時需要? 09/11 10:15
loveme00835:當你需要把具有同操作物件們放進一個陣列裡 09/11 10:19
johnny94:polymorphism 09/11 11:49
christianSK:dynamic binding怎麼會在compilation time決定 反了吧 09/11 12:34
感謝c大提醒 手殘 已修正@@
firose:static 就是直接呼叫 dynamic 就是間接呼叫 09/11 12:38
firose:多了一層就可以變數化, 把變動封裝在後端, 不影響呼叫端 09/11 12:39
※ 編輯: nikeasyanzi 來自: 140.113.166.183 (09/11 13:22)
a27417332:我認為動態是為了未知的情況做準備 09/11 18:04
a27417332:如果是允許擴充的部分,我認為應該使用動態 09/11 18:04
a27417332:如果是沒辦法擴充但要展現多態,可以用樣板的CRTP 09/11 18:05
damody:隨便啦 XXX 09/12 17:49