遠風工作室
C++博客
|
首頁
|
發新隨筆
|
發新文章
|
聯系
|
聚合
|
管理
隨筆:92 文章:0 評論:72 引用:0
回調函數實現方式:函數指針與函數對象
被調用函數調用的外部函數成為回調函數,windows程序中WndProc函數就是一個回調函數的典型形式。當函數不在同一文件當中(比如動態庫)時,要調用其他程序中的函數就只有才用回調的方式。回調函數一般采用函數指針或者函數對象的形式實現。
(1)函數指針:
int
A(
char
*
p);
//
回調函數
typedef
int
(
*
CallBack)(
char
*
p);
//
聲明CallBack類型的函數指針
CallBack myCallBack;
//
定義函數指針變量
myCallBack
=
A;
//
賦值,得到函數A的地址
B(A,
5
);
//
調用B函數
void
B(CallBack lpCall,
int
num)
{
//
B自己的語句
lpCall(“Hello”);
//
B自己的語句
}
(2)函數對象:
函數對象是重載了operator()操作符的類對象,與普通的函數行為類似。一般情況下用函數對象優于函數指針,主要因為:
第一,函數對象具有封裝性,可以在不改動外部接口的情況下修改內部操作;
第二,函數對象可以通過數據成員存儲先前調用結果,而普通函數只能通過靜態變量等方式實現;
第三,函數對象可以實現內聯調用,加快程序速度。
class
CallBack
{
public
:
int
operator
()(
int
num)
//
重載()操作符
{
//
…………………………..
}
}
void
B(CallBack call,
int
num)
//
定義B函數
{
//
B自己的語句
call(num);
//
B自己的語句
}
B(CallBack(),
5
);
//
調用B函數
發表于 2009-08-28 21:58
遠風
閱讀(628)
評論(0)
編輯
收藏
引用
所屬分類:
C/C++基礎
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
C/C++小結雜燴
32位系統中VC++可識別類型
使用MessageBox進行多線程調試
const在C和C++中的不同
數據存儲類型:auto/static/register/extern
string用法總結
類的特殊大小情況
常用Win IDE庫函數
C/C++小結雜燴
LIB和DLL的區別與使用
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
<
2009年8月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
留言簿
(3)
給我留言
查看公開留言
查看私人留言
隨筆分類
(93)
ACM(5)
(rss)
C/C++基礎(20)
(rss)
Linux編程(16)
(rss)
MFC(7)
(rss)
MySQL(2)
(rss)
OPNET仿真(11)
(rss)
PHP(13)
(rss)
Python(3)
(rss)
STL(4)
(rss)
Web技術(2)
(rss)
Windows管理(3)
(rss)
數據結構 / 算法(7)
(rss)
收藏夾
(2)
C/C++基礎(1)
(rss)
數據結構 / 算法(1)
(rss)
搜索
積分與排名
積分 - 330164
排名 - 73
最新評論
1.?re: makefile和make規則
可以評論么
--馮智浩
2.?re: PHP調用外部程序的方法
大的as打算阿達的
--碩大的
3.?re: LIB和DLL的區別與使用
太贊,收藏一下,謝謝
--mymimi1988
4.?re: LIB和DLL的區別與使用
好文,好內容;
--wsdxyz
5.?re: LIB和DLL的區別與使用
寫的非常詳細,感謝。
--Forward
6.?re: LIB和DLL的區別與使用
非常好,說得很詳細,也很明白,學習了!
--xihuwuyu
7.?re: LIB和DLL的區別與使用
感覺很好,對于才接觸dll的我來說很夠用。。
--Chosan
8.?re: VC中ListCtrl經驗總結【轉載】[未登錄]
總結的很好啊,轉了
--king
9.?re: LIB和DLL的區別與使用
就我自己沒看太懂嗎
--AzzStyle
10.?re: LIB和DLL的區別與使用
通俗易懂,呵
--我的
閱讀排行榜
1.?LIB和DLL的區別與使用(76530)
2.?虛擬機VMware tools安裝【轉載】(36579)
3.?Linux串口編程(24878)
4.?tar命令的C參數(18891)
5.?判斷素數的算法(11421)
6.?VC中ListCtrl經驗總結【轉載】(11313)
7.?PHP調用外部程序的方法(11094)
8.?makefile和make規則(9210)
9.?C++進階必讀書籍【轉載】(8431)
10.?insert時出現主鍵沖突的處理方法【轉載】(8244)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 遠風
蜜臀久久99精品久久久久久小说
|
偷偷做久久久久网站
|
69SEX久久精品国产麻豆
|
99久久er这里只有精品18
|
国产精品久久网
|
亚洲精品高清一二区久久
|
久久久精品久久久久影院
|
日韩精品久久久久久久电影蜜臀
|
99久久精品费精品国产
|
亚洲国产精品狼友中文久久久
|
精品久久久久久无码不卡
|
久久久噜噜噜久久中文福利
|
99久久精品国产毛片
|
香蕉久久夜色精品升级完成
|
91亚洲国产成人久久精品
|
亚洲国产精品无码久久久蜜芽
|
日本免费久久久久久久网站
|
久久久无码精品亚洲日韩蜜臀浪潮
|
99久久精品毛片免费播放
|
国产亚洲精久久久久久无码77777
|
久久亚洲国产精品一区二区
|
精品久久久久久国产
|
久久精品无码一区二区三区日韩
|
久久天天躁狠狠躁夜夜96流白浆
|
亚洲欧美久久久久9999
|
99久久精品无码一区二区毛片
|
日韩AV无码久久一区二区
|
久久国产AVJUST麻豆
|
国产亚州精品女人久久久久久
|
精品多毛少妇人妻AV免费久久
|
国产精品无码久久久久
|
国产L精品国产亚洲区久久
|
久久人爽人人爽人人片AV
|
久久亚洲精品国产亚洲老地址
|
精品久久久久中文字幕一区
|
久久精品国产免费一区
|
国产精品久久久久国产A级
|
久久久一本精品99久久精品88
|
亚洲色大成网站WWW久久九九
|
国内精品久久国产
|
国产精品久久新婚兰兰
|