Re: [問題] 想問問是否函式陣列這樣的東西…

看板C_and_CPP作者 (今、そこに いる僕)時間15年前 (2009/07/03 10:53), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
你說的倒不是沒有, 但是不像你想的那麼簡單... 使用一個函數指標所成陣列,我在寫直譯器時倒是常常用... ... typedef bool (__cdecl *msg_proc_t)(char *, unsigned long &, HWND, mobile_t &, sync_t &); ... bool A(char *___input, unsigned long &___len, HWND ___target, mobile_t & ___mobile, sync_t &___sync) {...} ... msg_proc_t msg_procs[]={A, B, C, D, E, G, H, H, I, J, L, N, OK, O, P, Q, S, U, W, Y, Fin, NULL}; 然後用個迴圈,一直將token依序傳入這些函數就行了,接受就怎樣...拒絕又怎樣 ...。整個程式看起來就比較有條理,不會有一堆if...else/switch...case。 如果真是在寫直譯器,那每支函數的前頭應該會有一些共用的部份,這可以用macro/ inline function來解決。 不知道這樣有沒有符合你的需求。 --             愛 哀 だ 百 は こ も こ             し し か 億 か ん ろ ん             い い ら 年 な な く な               ほ   の い に   に               ど   年   も   も               に   月 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.229.101.61
文章代碼(AID): #1AJNAoUx (C_and_CPP)
文章代碼(AID): #1AJNAoUx (C_and_CPP)