遠風工作室
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
遠風
閱讀(634)
評論(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)
搜索
積分與排名
積分 - 330928
排名 - 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的區別與使用(76569)
2.?虛擬機VMware tools安裝【轉載】(36589)
3.?Linux串口編程(24897)
4.?tar命令的C參數(18909)
5.?判斷素數的算法(11434)
6.?VC中ListCtrl經驗總結【轉載】(11322)
7.?PHP調用外部程序的方法(11102)
8.?makefile和make規則(9219)
9.?C++進階必讀書籍【轉載】(8438)
10.?insert時出現主鍵沖突的處理方法【轉載】(8256)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 遠風
蜜桃麻豆WWW久久囤产精品
|
久久99久久99精品免视看动漫
|
精品综合久久久久久98
|
日批日出水久久亚洲精品tv
|
久久久久这里只有精品
|
日韩精品久久久久久免费
|
日本久久久久亚洲中字幕
|
久久精品黄AA片一区二区三区
|
久久av无码专区亚洲av桃花岛
|
久久国产免费观看精品3
|
成人国内精品久久久久影院
|
亚洲欧美精品伊人久久
|
久久免费99精品国产自在现线
|
久久精品成人免费国产片小草
|
狠狠色丁香久久婷婷综合蜜芽五月
|
人人狠狠综合88综合久久
|
色婷婷综合久久久久中文一区二区
|
久久亚洲春色中文字幕久久久
|
国产亚洲美女精品久久久久狼
|
品成人欧美大片久久国产欧美...
|
久久精品国产99久久香蕉
|
狠狠狠色丁香婷婷综合久久五月
|
久久久久99精品成人片试看
|
成人妇女免费播放久久久
|
精品无码久久久久久久久久
|
久久久久久综合网天天
|
久久亚洲国产精品一区二区
|
久久99热这里只频精品6
|
久久亚洲国产精品一区二区
|
人妻无码精品久久亚瑟影视
|
嫩草影院久久99
|
亚洲精品无码久久千人斩
|
精品久久久久久无码中文野结衣
|
亚洲精品国产成人99久久
|
亚洲v国产v天堂a无码久久
|
久久久久久久97
|
精品多毛少妇人妻AV免费久久
|
亚洲国产精品久久久久婷婷软件
|
99久久国产热无码精品免费
|
99国产欧美精品久久久蜜芽
|
欧美亚洲国产精品久久蜜芽
|