不過是用Ms Tools的一個民工..
人恒過,然后能改。困于心,衡于慮,而后作。
C++博客
|
首頁
|
發新隨筆
|
發新文章
|
聯系
|
聚合
|
管理
mem_fun And mem_fun_ref
怎么對容器中的所有對象都進行同一個操作?我們可能首先想到的是用循環來實現。
比如有如下的一個類:
class
ClxECS
{
public
:
int
DoSomething()
{
//
這里以輸出一句話來代替具體的操作
cout
<<
"
Output from method DoSomething!
"
<<
endl;
return
0
;
}
;
}
;
現在定義如下一個vector:
vector
<
ClxECS
*>
vECS;
for
(
int
i
=
0
; i
<
13
; i
++
)
{
ClxECS
*
pECS
=
new
ClxECS;
vECS.push_back(pECS);
}
for
(
int
i
=
0
; i
<
vECS.size(); i
++
)
vECS.at(i)
->
DoSomething();
當然,我們也可以用iterator:
for
(vector
<
ClxECS
*>
::iterator it
=
vECS.begin(); it
!=
vECS.end();
++
it)
(
*
it)
->
DoSomething();
但是,有很多C++的高手和牛人們都會給我們一個忠告,那就是:在處理STL里面的容器的時候,盡量不要自己寫循環。
那么,我們就只好用STL算法里面的for_each了。
首先,添加如下一個函數:
int
DoSomething(ClxECS
*
pECS)
{
return
pECS
->
DoSomething();
}
然后就可以用for_each來實現我們想要的功能:
for_each(vECS.begin(), vECS.end(),
&
DoSomething);
說了半天,似乎跟mem_fun和mem_fun_ref沒有什么關系。其實,說那么多都是為了引出mem_fun和mem_fun_ref。在用for_each的時候,如果我們不添加上面的那個函數,該怎么辦呢?
這個時候就該mem_fun和mem_fun_ref隆重登場了。用如下這一行代碼就行了:
for_each(vECS.begin(), vECS.end(), mem_fun(
&
ClxECS::DoSomething));
不用我多說,大家應該已經明白mem_fun是干什么和該怎么用的了。
mem_fun_ref的作用和用法跟mem_fun一樣,唯一的不同就是:當容器中存放的是對象實體的時候用mem_fun_ref,當容器中存放的是對象的指針的時候用mem_fun。
[轉載內容]
發表于 2008-07-04 09:13
IssAc
閱讀(150)
評論(0)
編輯
收藏
引用
所屬分類:
STL
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
隨筆:5 文章:28 評論:1 引用:0
<
2025年5月
>
日
一
二
三
四
五
六
27
28
29
30
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
6
7
公告
Blog里的內容如果沒有注明為轉載,就是原創文章,需要轉載的朋友請注明出處。文章中如有錯誤,請指出。轉載內容如果有侵權行為,請與我聯系,----issac_asimoy@qq.com。
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(1)
給我留言
查看公開留言
查看私人留言
隨筆分類
(5)
Heart(3)
(rss)
Interesting(2)
(rss)
UML
(rss)
隨筆檔案
(5)
2008年8月 (1)
2008年7月 (3)
2008年6月 (1)
文章分類
(28)
Boost
(rss)
C/C++(4)
(rss)
Data Structure and Algorithm(2)
(rss)
Disquisition
(rss)
Exam Problem(5)
(rss)
Exercise(6)
(rss)
IDE and Tools(1)
(rss)
Mfc(4)
(rss)
Readset
(rss)
Sdk(5)
(rss)
STL(1)
(rss)
文章檔案
(28)
2008年8月 (5)
2008年7月 (15)
2008年6月 (8)
相冊
Temp
My World
≈靜侯輪囘≈
Study Web
最新隨筆
1.?個人收藏的編程下載資源全部公布
2.?不同地區技術人才需求量的統計和分析
3.?失意時須看的十大圖片《組圖》
4.?作為男人你必須知道的幾件事情
5.?逆境轉心境
搜索
積分與排名
積分 - 8095
排名 - 1288
最新評論
1.?re: 作為男人你必須知道的幾件事情
這個怎么看 都是做個好人的 基本準則啊!
--Corner Zhang
閱讀排行榜
1.?個人收藏的編程下載資源全部公布(481)
2.?作為男人你必須知道的幾件事情(476)
3.?不同地區技術人才需求量的統計和分析(358)
4.?逆境轉心境(337)
5.?失意時須看的十大圖片《組圖》(298)
評論排行榜
1.?作為男人你必須知道的幾件事情(1)
2.?失意時須看的十大圖片《組圖》(0)
3.?不同地區技術人才需求量的統計和分析(0)
4.?個人收藏的編程下載資源全部公布(0)
5.?逆境轉心境(0)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 IssAc
91精品国产综合久久久久久
|
久久久噜噜噜久久中文字幕色伊伊
|
日产精品99久久久久久
|
亚洲国产精品久久电影欧美
|
狠狠色丁香婷综合久久
|
无码国内精品久久人妻麻豆按摩
|
久久天天躁狠狠躁夜夜不卡
|
精品99久久aaa一级毛片
|
久久精品国产第一区二区
|
久久婷婷色综合一区二区
|
久久国产精品国产自线拍免费
|
久久99国产综合精品
|
久久精品国产精品亚洲艾草网美妙
|
国产69精品久久久久APP下载
|
日本久久久久亚洲中字幕
|
久久精品?ⅴ无码中文字幕
|
色欲av伊人久久大香线蕉影院
|
热99re久久国超精品首页
|
熟妇人妻久久中文字幕
|
久久精品中文字幕第23页
|
国产精品久久久久久影院
|
精品久久人人爽天天玩人人妻
|
国产精品丝袜久久久久久不卡
|
午夜天堂av天堂久久久
|
久久国产精品无
|
四虎影视久久久免费观看
|
精品无码久久久久久国产
|
久久九九有精品国产23百花影院
|
久久婷婷五月综合97色
|
人妻无码中文久久久久专区
|
亚洲国产成人久久一区久久
|
久久久久久国产精品免费免费
|
欧美伊香蕉久久综合类网站
|
色综合久久天天综合
|
一级做a爰片久久毛片人呢
|
国产精品久久久天天影视
|
久久99国产精品一区二区
|
国产精品久久久久9999
|
久久这里只精品国产99热
|
天天爽天天爽天天片a久久网
|
日本久久久精品中文字幕
|