不過是用Ms Tools的一個民工..
人恒過,然后能改。困于心,衡于慮,而后作。
C++博客
|
首頁
|
發(fā)新隨筆
|
發(fā)新文章
|
聯(lián)系
|
聚合
|
管理
mem_fun And mem_fun_ref
怎么對容器中的所有對象都進行同一個操作?我們可能首先想到的是用循環(huán)來實現(xiàn)。
比如有如下的一個類:
class
ClxECS
{
public
:
int
DoSomething()
{
//
這里以輸出一句話來代替具體的操作
cout
<<
"
Output from method DoSomething!
"
<<
endl;
return
0
;
}
;
}
;
現(xiàn)在定義如下一個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里面的容器的時候,盡量不要自己寫循環(huán)。
那么,我們就只好用STL算法里面的for_each了。
首先,添加如下一個函數(shù):
int
DoSomething(ClxECS
*
pECS)
{
return
pECS
->
DoSomething();
}
然后就可以用for_each來實現(xiàn)我們想要的功能:
for_each(vECS.begin(), vECS.end(),
&
DoSomething);
說了半天,似乎跟mem_fun和mem_fun_ref沒有什么關(guān)系。其實,說那么多都是為了引出mem_fun和mem_fun_ref。在用for_each的時候,如果我們不添加上面的那個函數(shù),該怎么辦呢?
這個時候就該mem_fun和mem_fun_ref隆重登場了。用如下這一行代碼就行了:
for_each(vECS.begin(), vECS.end(), mem_fun(
&
ClxECS::DoSomething));
不用我多說,大家應該已經(jīng)明白mem_fun是干什么和該怎么用的了。
mem_fun_ref的作用和用法跟mem_fun一樣,唯一的不同就是:當容器中存放的是對象實體的時候用mem_fun_ref,當容器中存放的是對象的指針的時候用mem_fun。
[轉(zhuǎn)載內(nèi)容]
發(fā)表于 2008-07-04 09:13
IssAc
閱讀(150)
評論(0)
編輯
收藏
引用
所屬分類:
STL
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導航:
博客園
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里的內(nèi)容如果沒有注明為轉(zhuǎn)載,就是原創(chuàng)文章,需要轉(zhuǎn)載的朋友請注明出處。文章中如有錯誤,請指出。轉(zhuǎn)載內(nèi)容如果有侵權(quán)行為,請與我聯(lián)系,----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.?不同地區(qū)技術(shù)人才需求量的統(tǒng)計和分析
3.?失意時須看的十大圖片《組圖》
4.?作為男人你必須知道的幾件事情
5.?逆境轉(zhuǎn)心境
搜索
積分與排名
積分 - 8107
排名 - 1288
最新評論
1.?re: 作為男人你必須知道的幾件事情
這個怎么看 都是做個好人的 基本準則啊!
--Corner Zhang
閱讀排行榜
1.?個人收藏的編程下載資源全部公布(481)
2.?作為男人你必須知道的幾件事情(476)
3.?不同地區(qū)技術(shù)人才需求量的統(tǒng)計和分析(359)
4.?逆境轉(zhuǎn)心境(337)
5.?失意時須看的十大圖片《組圖》(299)
評論排行榜
1.?作為男人你必須知道的幾件事情(1)
2.?失意時須看的十大圖片《組圖》(0)
3.?不同地區(qū)技術(shù)人才需求量的統(tǒng)計和分析(0)
4.?個人收藏的編程下載資源全部公布(0)
5.?逆境轉(zhuǎn)心境(0)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 IssAc
国产精品福利一区二区久久
|
亚州日韩精品专区久久久
|
久久国产精品久久国产精品
|
国产色综合久久无码有码
|
中文国产成人精品久久亚洲精品AⅤ无码精品
|
超级碰碰碰碰97久久久久
|
精品无码久久久久国产动漫3d
|
国产精品无码久久久久久
|
亚洲精品国产自在久久
|
久久综合给合久久狠狠狠97色
|
亚洲国产精品久久久久婷婷软件
|
久久精品99无色码中文字幕
|
久久久久亚洲av综合波多野结衣
|
人妻无码久久一区二区三区免费
|
久久久久久久尹人综合网亚洲
|
国产高潮国产高潮久久久91
|
久久国产免费观看精品3
|
国产真实乱对白精彩久久
|
99国产欧美精品久久久蜜芽
|
久久亚洲国产成人影院
|
久久精品国产亚洲一区二区三区
|
婷婷久久五月天
|
思思久久好好热精品国产
|
色婷婷噜噜久久国产精品12p
|
久久99中文字幕久久
|
久久婷婷五月综合国产尤物app
|
亚洲中文字幕久久精品无码APP
|
久久久久青草线蕉综合超碰
|
久久九九久精品国产免费直播
|
亚洲AV日韩精品久久久久久
|
久久精品国产久精国产
|
久久香蕉国产线看观看99
|
青青青青久久精品国产h久久精品五福影院1421
|
色婷婷久久综合中文久久一本
|
精品久久久无码人妻中文字幕豆芽
|
精品少妇人妻av无码久久
|
久久国产成人午夜aⅴ影院
|
欧美精品乱码99久久蜜桃
|
久久精品国产亚洲AV影院
|
99久久人妻无码精品系列蜜桃
|
亚洲国产精品久久久久久
|