青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

學習《C++ Primer》的筆記

函數指針的一種替代策略是Function object(函數對象)。

函數對象與函數指針相比較有兩個方面的優點:首先如果被重載的調用操作符是inline函數則編譯器能夠執行內聯編譯,提供可能的性能好處;其次函數對象可以擁有任意數目的額外數據,用這些數據可以緩沖結果,也可以緩沖有助于當前操作的數據。

函數對象是一個類,它重載了函數調用操作符operator() ,該操作符封裝了一個函數的功能。典型情況下函數對象被作為實參傳遞給泛型算法,當然我們也可以定義獨立的函數對象實例。

來看一個例子:

#include<vector>
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
class Sum {
int val;
public:
Sum(int i) :val(i) { }

//當在需要int的地方,Sum將自動轉換為int類型
//這里是為了方便cout<<Sum的實例;
operator int() const { return val; }

//寫在類中的函數代碼一般默認為內聯代碼
int operator()(int i) { return val+=i; }
};

void f(vector<int> v)
{
Sum s = 0; //Sum s = 0等價于Sum s(0),不等價于Sum s;s = 0;

//對vector<int>中的元素求和
//函數對象被作為實參傳遞給泛型算法
s = for_each(v.begin(), v.end(), s);

cout << "the sum is " << s << "\n";

//更簡單的寫法,定義獨立的函數對象實例
cout << "the sum is " << for_each(v.begin(), v.end(), Sum(0)) << "\n";
}


int main()
{
vector<int> v;
v.push_back(3); v.push_back(2); v.push_back(1);
f(v);
system("pause");
return 0;
}
posted on 2005-12-01 20:14 張沈鵬 閱讀(887) 評論(9)  編輯 收藏 引用
Comments
  • # re: Function object(函數對象)
    味全每日C++
    Posted @ 2005-12-01 21:21
    Sum s = 0;//(為什么可以用s = 0來初始化?沒有重載 operator=啊!!!)
    這里是因為類自動生成的賦值函數吧..  回復  更多評論   
  • # re: Function object(函數對象)
    c++基礎
    Posted @ 2005-12-01 22:19
    Sum s = 0;
    等同于
    Sum s(0);

    Sum s = 0;
    s = 0;
    兩個=含義不同  回復  更多評論   
  • # re: Function object(函數對象)
    c++基礎
    Posted @ 2005-12-01 22:38
    to 樓上:
    不是什么拷貝構造函數,只是普通的帶參數的構造函數

    口誤吧,呵呵  回復  更多評論   
  • # re: Function object(函數對象)
    力為
    Posted @ 2005-12-01 22:54
    Sum s = 0;//(為什么可以用s = 0來初始化?)
    這個確實是C++的基本問題,沒有弄懂這個問題,可以說是C++小學水平的。
    讀了《Effective C++》的都應該知道的吧。:)  回復  更多評論   
  • # re: Function object(函數對象)
    joyfire
    Posted @ 2005-12-01 23:09
    沒有必要因為一點小問題打擊人家。C++博大精深,誰能有把握說自己完全掌握。學習的興趣和行動比什么都重要。我從zuroc的blog學到了不少東西。  回復  更多評論   
  • # re: Function object(函數對象)
    張沈鵬
    Posted @ 2005-12-01 23:52
    學習C++中,我剛大二,并且專業也和編程關系不大,水平很淺,見笑了。。。。。。。  回復  更多評論   
  • # re: Function object(函數對象)
    放屁阿狗
    Posted @ 2005-12-07 22:53
    看看 bind2nd就明白了,其實c++的東西沒有直接看代碼來的體會直接和深刻  回復  更多評論   
  • # re: Function object(函數對象)
    simida
    Posted @ 2006-11-16 14:48
    why Sum s = 0?
    先調用 Sum(int i) 構建臨時對象 temp(0).然后調用拷貝構造函數?
    還是 直接讓s指向temp(0)?

      回復  更多評論   
  • # re: Function object(函數對象)
    張沈鵬
    Posted @ 2006-11-16 16:00
    隱式類轉換
    c++ primer上有的  回復  更多評論   

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美在线短视频| 久久影院亚洲| 一区二区三区|亚洲午夜| 欧美黄色成人网| 一区二区三区不卡视频在线观看| 欧美国产日韩精品| 欧美日韩精品久久| 亚洲欧美激情一区二区| 亚洲欧美日韩另类| 国内欧美视频一区二区| 免费成人黄色| 欧美黑人国产人伦爽爽爽| 亚洲图片欧洲图片av| 亚洲午夜在线观看视频在线| 国内成人精品2018免费看| 美日韩在线观看| 欧美日韩国产成人在线观看| 亚洲欧美在线高清| 久久久久久久欧美精品| 一本色道久久88精品综合| 亚洲自拍偷拍福利| 亚洲欧洲日本mm| 亚洲无线一线二线三线区别av| 国产一区在线观看视频| 亚洲第一精品夜夜躁人人躁| 欧美日本二区| 久久精品国产精品亚洲精品| 欧美成人精品影院| 欧美一区二区三区视频在线观看| 久久最新视频| 午夜免费在线观看精品视频| 久久精品视频99| 亚洲网站视频| 久久视频免费观看| 亚洲免费一在线| 牛牛国产精品| 久久久av网站| 国产精品久久久久9999吃药| 欧美激情中文字幕乱码免费| 国产乱码精品1区2区3区| 亚洲国产婷婷香蕉久久久久久99 | 女人色偷偷aa久久天堂| 欧美激情一区二区三区| 久久久国产精品亚洲一区 | 久久久福利视频| 亚洲欧美久久久久一区二区三区| 久久综合狠狠综合久久综合88| 午夜精品视频一区| 欧美日韩国产影片| 免费观看亚洲视频大全| 国产日韩欧美精品| 宅男噜噜噜66国产日韩在线观看| 亚洲国产成人久久综合| 久久www免费人成看片高清| 亚洲欧美日本日韩| 欧美日韩成人在线视频| 欧美激情国产日韩精品一区18| 国产日韩综合一区二区性色av| 亚洲最新色图| 一本色道久久综合亚洲精品小说| 美国十次成人| 欧美成人有码| 亚洲国产免费| 免费亚洲电影| 欧美成人一区在线| 亚洲国产精品精华液网站| 久久久国产一区二区| 久久久亚洲欧洲日产国码αv | 蜜臀久久久99精品久久久久久 | 欧美一区二区观看视频| 国产精品久久久久久久第一福利| 99精品国产在热久久婷婷| 艳女tv在线观看国产一区| 欧美精品在线免费播放| 亚洲精品视频在线观看免费| 99热在线精品观看| 欧美日韩网站| 亚洲制服欧美中文字幕中文字幕| 亚洲伊人第一页| 国产欧美一区二区三区另类精品 | 国产日韩欧美高清| 久久国产欧美日韩精品| 老司机午夜精品视频| 黄色一区二区三区四区| 久久视频精品在线| 亚洲精品免费一二三区| 在线视频亚洲| 国产欧美91| 久久久爽爽爽美女图片| 亚洲国产高清视频| 亚洲一级一区| 国产一区二区中文| 欧美粗暴jizz性欧美20| 亚洲视频一区二区| 蘑菇福利视频一区播放| 一区二区精品在线观看| 国产日韩在线亚洲字幕中文| 美脚丝袜一区二区三区在线观看 | 一本色道久久综合亚洲精品婷婷 | 亚洲韩国精品一区| 欧美伦理91| 午夜在线视频一区二区区别 | 亚洲欧美国产精品专区久久| 国产日韩欧美高清| 欧美电影免费| 午夜精品美女自拍福到在线 | 欧美www在线| 亚洲一区免费| 亚洲高清一区二| 国产精品资源| 欧美精品乱人伦久久久久久 | 久久伊人亚洲| 亚洲一区二区三区三| 尤物网精品视频| 国产精品婷婷| 欧美精品福利| 久久尤物视频| 欧美在线黄色| 中文亚洲欧美| 亚洲国产专区| 欧美成人dvd在线视频| 亚洲欧美中文字幕| 日韩视频精品在线观看| 136国产福利精品导航网址应用| 国产精品高清网站| 欧美精品在线观看| 蜜臀av在线播放一区二区三区| 午夜一区不卡| 亚洲欧美中文在线视频| 99re6这里只有精品| 欧美好骚综合网| 久热精品视频在线免费观看 | 在线观看精品视频| 国产日韩在线不卡| 国产欧美1区2区3区| 国产精品美女久久久久久免费| 欧美日韩99| 欧美日本精品在线| 欧美国产精品中文字幕| 老鸭窝91久久精品色噜噜导演| 久久福利影视| 欧美综合国产| 久久激情网站| 久久先锋影音av| 久久久久久9| 久久久精品2019中文字幕神马| 香蕉久久夜色精品国产使用方法| 亚洲在线中文字幕| 亚洲欧美视频一区二区三区| 亚洲专区一区| 欧美怡红院视频一区二区三区| 亚洲欧美日本日韩| 欧美一区成人| 久久久久国色av免费看影院 | 久久精品国产99| 久久九九久精品国产免费直播| 久久九九国产精品怡红院| 久久高清国产| 牛牛国产精品| 欧美色另类天堂2015| 国产精品入口| 激情六月婷婷久久| 亚洲精品久久久一区二区三区| 99爱精品视频| 亚洲欧美日韩在线综合| 久久精品一区二区三区四区| 免费成人高清视频| 亚洲精一区二区三区| 亚洲性感美女99在线| 久久国产精品久久久久久久久久| 久久综合伊人77777蜜臀| 欧美日韩精品福利| 国产日韩一区欧美| 亚洲美女黄色| 久久黄色影院| 亚洲国产精品综合| 亚洲在线一区二区| 久久婷婷蜜乳一本欲蜜臀| 欧美精品二区三区四区免费看视频| 国产精品美女一区二区在线观看 | 欧美视频一区二| 国产视频一区欧美| 99riav久久精品riav| 欧美一区三区二区在线观看| 欧美成人综合在线| 在线一区二区三区四区五区| 久久嫩草精品久久久精品| 欧美香蕉视频| 亚洲激情视频网站| 欧美一级午夜免费电影| 亚洲电影免费| 欧美一区成人| 国产精品成人观看视频免费| 在线观看成人av| 羞羞色国产精品| 99av国产精品欲麻豆| 美脚丝袜一区二区三区在线观看 | 久久免费午夜影院| 国产区欧美区日韩区| 99精品久久久|