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

學習《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 張沈鵬 閱讀(882) 評論(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上有的  回復  更多評論   
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美午夜精品久久久| 亚洲国产91| 欧美黄免费看| 国产精品久久99| 欧美一级大片在线观看| 久久久蜜桃一区二区人| 在线观看一区欧美| 亚洲欧美日韩一区在线| 久久久久国产精品一区| 伊人精品在线| 91久久精品一区二区别| 久久精品女人天堂| 亚洲黄色成人| 欧美一级网站| 亚洲激情在线播放| 国产精品日韩一区| 免费成人黄色| 亚洲欧美日韩精品| 亚洲国产日韩欧美一区二区三区| 亚洲香蕉在线观看| 亚洲欧洲综合另类| 国产视频久久| 巨胸喷奶水www久久久免费动漫| 亚洲精品专区| 久久亚洲精品伦理| 亚洲一区二区三区成人在线视频精品 | 欧美福利一区二区| 欧美一区二区三区四区视频| 日韩午夜av在线| 农村妇女精品| 久久精品电影| 欧美亚洲色图校园春色| 91久久极品少妇xxxxⅹ软件| 国产精品日韩久久久| 欧美成人官网二区| 免费成人毛片| 久久中文久久字幕| 久久一二三区| 久久久国产精彩视频美女艺术照福利 | 欧美国产日韩二区| 久久久久久久一区二区三区| 亚洲在线播放电影| 亚洲少妇在线| 国产精品99久久久久久宅男| 亚洲欧洲另类国产综合| 欧美黄色免费网站| 亚洲国产精品视频| 亚洲国产精品一区二区www在线| 久久综合国产精品| 欧美成人亚洲成人日韩成人| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美在线免费观看视频| 久久av一区二区三区亚洲| 西西人体一区二区| 欧美影片第一页| 久久手机免费观看| 欧美成人精品三级在线观看| 欧美电影打屁股sp| 亚洲成色最大综合在线| 亚洲高清不卡在线观看| 国产三级欧美三级| 国产精品chinese| 欧美午夜精品理论片a级按摩| 欧美三级午夜理伦三级中文幕| 欧美日韩成人一区二区| 欧美午夜大胆人体| 国产婷婷色一区二区三区在线 | 国产精品久久福利| 国产日韩欧美综合精品| 亚洲二区在线视频| av成人免费在线观看| 亚洲欧美日韩国产综合在线| 午夜精品久久久久久99热| 久久五月激情| 亚洲激情在线观看| 亚洲永久在线| 欧美 日韩 国产 一区| 国产精品v欧美精品v日本精品动漫| 国产伦精品一区二区三区免费迷| 红桃视频一区| 亚洲一级黄色| 免费成人av在线| 日韩一区二区免费看| 久久av一区二区三区| 欧美精品乱码久久久久久按摩| 国产精品日韩精品| 亚洲黄色av| 欧美伊人久久久久久午夜久久久久 | 欧美日韩一区二区三区| 国产精品视频网站| 在线观看av不卡| 亚洲欧美日韩爽爽影院| 欧美成人a∨高清免费观看| 在线性视频日韩欧美| 美女诱惑黄网站一区| 国产欧美另类| 中文精品99久久国产香蕉| 噜噜噜91成人网| 亚洲欧美清纯在线制服| 老司机免费视频久久| 国产精品久久久久久一区二区三区 | 久久久久久电影| 国产精品国产三级国产专播品爱网| 亚洲福利小视频| 欧美中文在线视频| 亚洲一二三区精品| 欧美午夜电影完整版| 性做久久久久久久免费看| 国产婷婷精品| 99av国产精品欲麻豆| 欧美在线不卡| 亚洲视频免费看| 欧美黄色免费网站| 亚洲国产精品成人综合| 久久蜜桃av一区精品变态类天堂| 亚洲视频久久| 国产精品久久久久久久久免费桃花 | 亚洲欧美成人一区二区在线电影| 欧美剧在线观看| 99精品免费网| 亚洲精品一区中文| 欧美精品导航| 一区二区三区精品久久久| 亚洲国产一区二区三区高清| 久久影院午夜论| 亚洲激精日韩激精欧美精品| 美女诱惑一区| 免费亚洲电影| 亚洲乱码国产乱码精品精天堂 | 久久精品成人欧美大片古装| 国模私拍视频一区| 久久躁日日躁aaaaxxxx| 久久琪琪电影院| 亚洲人成网站777色婷婷| 亚洲国产高清在线| 欧美日韩日本网| 欧美一区二区三区成人| 欧美在线观看一区二区| 一区二区三区亚洲| 亚洲黄色成人| 国产裸体写真av一区二区| 久久免费黄色| 欧美国产激情| 亚洲欧美日韩中文在线制服| 亚洲永久精品大片| 精品91在线| 亚洲巨乳在线| 国产一区二区黄色| 亚洲电影av| 国产精品久久久久久影视| 久久久久久亚洲精品杨幂换脸| 美女精品国产| 亚洲综合色自拍一区| 欧美在线短视频| 99精品视频免费在线观看| 亚洲一区二区高清视频| 在线免费日韩片| 在线亚洲欧美| 亚洲第一级黄色片| 一区二区三区免费观看| 国内精品久久久久影院薰衣草| 国产精品99久久久久久久vr| 久久综合国产精品| 欧美日韩视频一区二区| 久久久国产亚洲精品| 欧美久久精品午夜青青大伊人| 欧美中文字幕久久| 欧美日韩国产综合视频在线观看中文 | 亚洲欧美日韩国产中文在线| 欧美在线免费看| 亚洲图片欧美一区| 久久久久久夜精品精品免费| 亚洲性人人天天夜夜摸| 美日韩精品免费观看视频| 亚洲欧美www| 欧美精品成人91久久久久久久| 久久久久9999亚洲精品| 国产精品国产a| 91久久精品国产91性色| 国模私拍一区二区三区| 亚洲男女自偷自拍| 亚洲天堂网在线观看| 欧美成年人网| 欧美插天视频在线播放| 国产一区 二区 三区一级| 亚洲午夜一区| 一区二区三区久久网| 久久综合中文| 快播亚洲色图| 国产三级精品在线不卡| 亚洲午夜女主播在线直播| 一卡二卡3卡四卡高清精品视频| 久久久久一区二区三区| 久久久久看片| 韩国成人精品a∨在线观看| 午夜精品www| 久久精品在线观看| 韩日精品中文字幕| 欧美在线视频观看免费网站| 久久久91精品国产一区二区精品|