Re: [問題] 有辦法用大於小於來啟動function嘛
看板C_and_CPP (C/C++)作者softwind (software everywhere)時間16年前 (2009/02/26 22:56)推噓0(0推 0噓 1→)留言1則, 1人參與討論串4/5 (看更多)
※ 引述《omomo34415 ( )》之銘言:
: 就是我有兩段code幾乎都一樣
: do.......
: if(a>b)
: do........
: do......
: if(a<b)
: do.......
: do的部分都一樣,有辦法寫個function
: fun(<)
: do.......
: if(a>b)
^^^^ 這個是指 '<' 吧?
: do........
: fun(>)
: do.......
: if(a>b)
: do........
: 希望看的懂我再說什麼
嗯嗯嗯 只能有一個的話 我也不知道如何用C
不過 如果用組合語言 可以直接修改 func的資料
然後 CS:IP指過去 就可以當 instruction跑了
取巧一點 兩個實體的話
可以用 array of function point 然後 切換使用
ex:
typedef enum{
MORE_THAN=0,
LESS_THAN=1,
}FUNC_SWITCH_CMP;
ret_T more_than_func(para1, para2, ...){ /* implemenet */ }
ret_T less_than_func(para1, para2, ...){ /* implemenet */ }
typedef ret_T (*T_FUNC)(para_T1, para_T2, ...);
T_FUNC your_func[] = { more_than_func, less_than_func };
當你要 切換 codes時 把 enum type 進去
ex:
ret_T execute_func( FUNC_SWITCH_CMP switch_flag, para1,para2 ){
return your_func[ switch_flag]( para1, para2);
}
不過! 它們還是 有兩個實體 而不是 一個 func
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.123.165
→
02/26 23:06, , 1F
02/26 23:06, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 5 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
73
179