[問題] Switch簡化

看板C_and_CPP作者 (抓不住...)時間15年前 (2009/03/11 09:44), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/2 (看更多)
最近接到前輩的Code維護... 有個地方發現寫的不是很好,一直想改寫~~ 請問有沒有什麼好的重構方式~~ 有考慮過用 Strategy Pattern, 不過狀態太多(N個),希望各高手可以給一點想法...^^ 說明: A程式與B程式透過N個指令做通訊,如C1,C2,C3...CN 當A收到B程式的C*指令,便會改變狀態 void func() { switch(state) { case 0: // 等待B程式的C0 break; case 1: // 收到C0,C0指令會將state變數設為1 { do_something_compute(); state = 2; // set state to be 2 in order to wait C1 command break; } case 2: // 等待C1 break; //... omitted case N: // 等待B程式的CN break; } } -- I want love if it's possible ~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.29.55

03/11 11:12, , 1F
function pointer array
03/11 11:12, 1F

03/11 22:59, , 2F
不會呀...簡單..明暸...改了會提生performance嗎??
03/11 22:59, 2F

03/11 23:12, , 3F
呵...我吹毛求瑕一點~~
03/11 23:12, 3F
文章代碼(AID): #19jnTZi2 (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #19jnTZi2 (C_and_CPP)