普通變數可以通過指標進行訪問,用起來很方便,現在我有個想法,就是玩函式也要玩的這麼炫,我想給它寫個介面卡……
這裡我主要是用可變引數和函式指標來實現,有兩個測試**片段:test1()和test2()。其中test1用的是可變引數的函式指標,test2用的是巨集實現的函式介面卡。
**如下:
1/*2file : adapter.c
3author : mike
4e-mail : [email protected]*/
6 #include
7 #include
8 #include
9 #include
1011
#define adapter(f,...) f(__va_args__)
12 typedef int(*fun)(int a,...);
1314
int fun1(int a,int b)
15 18
19int fun2(int a,char *str)
20 23
24int fun3(int a,char *str,long l)
25 28
29void test1()
30 43
44void test2()
45 58
59int main()
60
tips : gcc和vs2010都行,vc6跑不過,用的時候注意點。
STL介面卡 函式介面卡
有時候需要對內建函式物件返回值進行進一步的簡單計算,或者填上多餘的引數,不能直接代入演算法。函式介面卡實現了這一功能,函式介面卡是將一種函式物件轉化為另一種符合要求的函式物件。函式介面卡可以分為4個大類 繫結介面卡 組合介面卡 指標函式介面卡和成員函式介面卡。需求 在遍歷容器的時候,將容器中的值全部...
C 函式介面卡
2013年08月15日 09 10 04 1519人閱讀收藏 舉報c 深入學習 151 先弄清幾個概念,什麼叫一元函式,二元函式 1.一元函式乙個引數 2.二元函式 兩個引數 3.一元謂詞 乙個引數,返回型別為bool型 4.二元謂詞 兩個引數,返回型別為bool型 函式介面卡是用來讓乙個函式物件表...
C 函式介面卡
1 考慮下面的需求,在乙個int的vector中,找出乙個比5的元素,容易想到的解決辦法,定義乙個方法物件,使用模板,如下 vector iterator iter find if intvec.begin intvec.end finder 3 2 分析 find if的偽 如下 for firs...