• <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>

            C++ Programmer's Cookbook

            {C++ 基礎(chǔ)} {C++ 高級(jí)} {C#界面,C++核心算法} {設(shè)計(jì)模式} {C#基礎(chǔ)}

            Use Functor for Callbacks in C++

            Use Functor for Callbacks in C++
            Using the callback function in C is pretty straightforward, but in C++ it becomes little tricky.

            If you want to use a member function as a callback function, then the member function needs to be associated with an object of the class before it can be called. In this case, you can use functor.

            Suppose you need to use the member function get() of the class base as a callback function

            
            class base
            
            {
            public:
            	int get ()
            	{ return 7;}
            };
            
            Then, you need to define a functor:
            
            class CallbackFunctor
            {
            	functor(const base& b):m_base(b)
            	{}
            	int operator() ()
            	{
            		return m_base.get();
            	}
            };
            
            Now you can use an object of CallbackFunctor as a callback function as follows.

            Define the function that needs a callback to take an argument of type CallbackFunctor:

            
            void call (CallbackFunctor& f)
            {
            	cout << f() << endl;
            }
            
            
            int main ()
            {
            	base b;
            	CallbackFunctor f(b);
            	call(f);
            }

            posted on 2006-01-18 08:56 夢(mèng)在天涯 閱讀(1599) 評(píng)論(5)  編輯 收藏 引用 所屬分類(lèi): CPlusPlus

            評(píng)論

            # re: Use Functor for Callbacks in C++ 2006-01-19 10:16 fiestay

            不錯(cuò)!但文中代碼不能直接編譯通過(guò),稍微修改了一下,把我改過(guò)的代碼貼上。
            #include <iostream>

            using namespace std;

            class Base
            {
            public:
            int get() { return 10; }
            };

            class Functor
            {
            public:
            Functor(const Base& b):m_base(b)
            {
            }

            int operator() ()
            {
            return m_base.get();
            }

            private:
            Base m_base;
            };

            void call(Functor& f)
            {
            cout << f() << endl;
            }

            int main(int argc, char* argv[])
            {
            Base b;
            Functor f(b);
            call(f);

            return 0;
            }
              回復(fù)  更多評(píng)論   

            # to 陣雨 2006-02-10 09:21 Holyfire

            人家標(biāo)題就是Use Functor for Callbacks in C++

            WindProc是C風(fēng)格的
            再說(shuō)了WindProc只是回調(diào)函數(shù)的應(yīng)用,并不是回調(diào)函數(shù)的概念啊  回復(fù)  更多評(píng)論   

            # re: Use Functor for Callbacks in C++ 2006-02-10 10:18 音樂(lè)蟲(chóng)子

            wait not use boost::function ?  回復(fù)  更多評(píng)論   

            # re: Use Functor for Callbacks in C++ 2006-02-14 21:40 陣雨

            對(duì)不起,那我錯(cuò)了  回復(fù)  更多評(píng)論   

            # re: Use Functor for Callbacks in C++ 2006-09-22 12:54 夢(mèng)在天涯

            fiestay改的很好,太謝謝了  回復(fù)  更多評(píng)論   

            公告

            EMail:itech001#126.com

            導(dǎo)航

            統(tǒng)計(jì)

            • 隨筆 - 461
            • 文章 - 4
            • 評(píng)論 - 746
            • 引用 - 0

            常用鏈接

            隨筆分類(lèi)

            隨筆檔案

            收藏夾

            Blogs

            c#(csharp)

            C++(cpp)

            Enlish

            Forums(bbs)

            My self

            Often go

            Useful Webs

            Xml/Uml/html

            搜索

            •  

            積分與排名

            • 積分 - 1804823
            • 排名 - 5

            最新評(píng)論

            閱讀排行榜

            精品久久久久久国产91| 国产精品久久久久久久久| 亚洲国产精品久久电影欧美| 久久国产精品无码HDAV| 国产精品伦理久久久久久| 亚洲国产成人乱码精品女人久久久不卡 | 色婷婷综合久久久中文字幕| 精品久久久久久国产免费了| 777米奇久久最新地址| 精品无码久久久久国产动漫3d| 国产成人久久精品一区二区三区| 国产巨作麻豆欧美亚洲综合久久| 久久精品国产久精国产一老狼| 俺来也俺去啦久久综合网| 日本加勒比久久精品| 69久久夜色精品国产69| 亚洲国产精品无码久久九九| 久久不射电影网| 久久精品国产99久久久古代| 狠狠色综合网站久久久久久久| 亚洲精品午夜国产VA久久成人 | 香蕉久久夜色精品国产尤物| 精品免费久久久久久久| 人妻中文久久久久| 久久精品国产只有精品2020| 日本WV一本一道久久香蕉| 午夜视频久久久久一区 | 婷婷伊人久久大香线蕉AV | 国产精品久久99| 亚洲成人精品久久| 久久精品国产精品亚洲| 国产精品无码久久综合| 久久精品国产亚洲AV久| 人妻中文久久久久| 99久久久久| 2021少妇久久久久久久久久| 99久久国产精品免费一区二区 | 九九精品久久久久久噜噜| 国产精品内射久久久久欢欢| 久久人人爽人人爽人人片AV麻豆 | 中文字幕乱码久久午夜|