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

Cpper
C/C++高級工程師 Android高級軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語言 程序猿
今天由于要寫一些東西,遇到了需要把成員函數作為函數參數的問題
總結有以下幾個辦法:
1.使用類的靜態成員:
      最簡單的.只是這種辦法與使用普通函數沒有什么區別
2.模板的方法
 
1   template<class  T>   
2   void  Call(T* ptr,void(T::*MenFn)())   
3   {   
4      (ptr->*MenFn)();   
5   }   
   
 1 class MyClass
 2 {
 3 public:
 4     void Call()
 5     {
 6        
 7     }
 8 };
 9 
10 MyClass cs;
11 Call(&cs,&MyCall::Call);

3.  虛擬繼承的方法
 1 class Base
 2 {
 3 public:
 4     virtual void Call() = 0;
 5 };    
 6 
 7 class SubClass :public Base
 8 {
 9 public:
10     void Call(){}
11 };
12  
13 void Call(Base *ptr)
14 {
15     ptr->Call();
16 

4.use boost.

 

 1#include   <boost/bind.hpp>   
 2#include   <iostream>   
 3using   namespace   std;   
 4struct   MyClass   
 5{   
 6    void  Print(const char* str)   
 7    {   
 8        cout<<"holle "<<str<<endl;   
 9    }
   
10}
;
11
12template<class _Fun>   
13void CallBackFun(_Fun a,const char* str)   
14{   
15    t(n);   
16}
   
17 
18int   main()   
19{   
20    MyClass mc;
21    CallBackFun(boost::bind(boost::mem_fn(&MyClass::Print),&mc,_1),"world")
22    return  1;   
23}
   
24

  5.使用靜態成員函數或者聯合體模擬之

1 union
2 {
3     void(G_CALL ParticleSystem::*PhysicsThreadFun)(void *arg);
4     ThreadFun f;
5 }fn; 
6 fn.PhysicsThreadFun = &ParticleSystem::PhysicsThreadFun;
7 thread_id = CreateThread(fn.f,&ps);

6.也許.
      對loki庫不太熟悉也許上面也有答案吧
posted on 2010-02-23 19:08 ccsdu2009 閱讀(6469) 評論(6)  編輯 收藏 引用
Comments
  • # re: c++中使用成員函數作為函數參數的方法
    sanit
    Posted @ 2010-02-23 22:38
    第二種方法11行,Call(&cs,&MyCall::Call);
    應該是&MyClass::Call吧?  回復  更多評論   
  • # re: c++中使用成員函數作為函數參數的方法
    ccsdu2009
    Posted @ 2010-02-24 08:27
    @sanit
    沒問題的  回復  更多評論   
  • # re: c++中使用成員函數作為函數參數的方法
    XYFOR1234
    Posted @ 2010-02-24 10:30
    函數指針不行嗎?是不是因為THIS指針的關系有一個偏移量?這也好解決,不過是編譯器相關的。  回復  更多評論   
  • # re: c++中使用成員函數作為函數參數的方法
    zuhd
    Posted @ 2010-02-24 13:23
    void Call(Base *ptr)
    {
    ptr->Call();
    }

    直接這樣傳函數指針不就可以了嗎?為什么要求是虛擬繼承啊,普通的函數指針不行嗎?  回復  更多評論   
  • # re: c++中使用成員函數作為函數參數的方法
    永遠在一起
    Posted @ 2010-12-15 22:14
    謝謝,學習了,不過最后一種不怎么明白  回復  更多評論   
  • # re: c++中使用成員函數作為函數參數的方法
    porphyah
    Posted @ 2014-10-25 00:14
    如果Lambda表達式能與函數指針相互轉化,那就能像C#一樣輕輕松松寫個臨時的匿名函數了  回復  更多評論   

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   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>
            国产精品美女久久久久久久| 国产日韩一区二区三区| 伊人色综合久久天天| 亚洲一区二区三区在线看| 亚洲男人的天堂在线观看| 欧美色另类天堂2015| 亚洲精品小视频| 日韩特黄影片| 欧美精品亚洲二区| 亚洲精品一区久久久久久| 亚洲一区三区电影在线观看| 国产精品日韩在线| 欧美一进一出视频| 欧美成人在线网站| 亚洲精品国产精品乱码不99| 欧美激情一区二区三区在线视频| 亚洲日本电影| 亚洲欧美激情四射在线日 | 亚洲一二三区在线| 久久精品中文| 亚洲人在线视频| 欧美亚洲第一区| 久久久精品免费视频| 欧美日韩一级黄| 欧美激情麻豆| 亚洲综合色婷婷| 在线精品观看| 欧美午夜不卡视频| 久久婷婷一区| 一本色道久久综合亚洲精品高清| 午夜一区在线| 亚洲精品美女在线观看| 国产精品女主播一区二区三区| 久久国产99| 亚洲神马久久| 欧美xxxx在线观看| 性欧美18~19sex高清播放| 亚洲高清免费在线| 国产区日韩欧美| 欧美日韩一区二区三区免费| 久久免费视频观看| 国产精品99久久久久久人| 欧美电影免费观看| 久久综合国产精品| 欧美一区三区二区在线观看| 9l国产精品久久久久麻豆| 伊人久久成人| 国产日韩欧美二区| 国产精品一二一区| 国产精品美女| 国产精品户外野外| 欧美日韩免费看| 欧美电影在线| 欧美紧缚bdsm在线视频| 欧美第一黄网免费网站| 免费不卡在线观看av| 老司机午夜精品视频| 久久亚洲影音av资源网| 欧美一区在线视频| 久久国产精品久久w女人spa| 亚洲欧美一区二区三区极速播放| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 久久嫩草精品久久久精品一| 亚洲视屏一区| 亚洲精品自在在线观看| 亚洲经典在线| 亚洲国产精品ⅴa在线观看 | 亚洲国产精品免费| 久久综合久久综合这里只有精品| 亚洲欧美视频一区二区三区| 亚洲欧美成人在线| 欧美在线观看一区二区| 久久都是精品| 久久免费一区| 欧美国产精品人人做人人爱| 亚洲国产精品123| 亚洲伦理在线观看| 亚洲小说欧美另类社区| 亚洲午夜影视影院在线观看| 亚洲在线成人精品| 欧美一区二区三区四区视频 | 久久精品五月| 久久久夜夜夜| 欧美电影免费观看高清| 亚洲激情社区| 亚洲五月六月| 久久激情婷婷| 欧美精品v日韩精品v国产精品| 欧美精品18+| 国产欧美日韩综合精品二区| 激情久久中文字幕| 一个色综合av| 久久午夜精品| 亚洲免费精品| 久久成人18免费网站| 老司机一区二区| 欧美色图一区二区三区| 一区免费观看视频| 99亚洲一区二区| 校园激情久久| 亚洲国产天堂网精品网站| 一区二区三区四区蜜桃| 久久久免费精品| 国产精品va| 亚洲黄色尤物视频| 午夜亚洲视频| 亚洲精品美女91| 久久国产精彩视频| 国产精品成人一区二区网站软件| 含羞草久久爱69一区| av不卡在线看| 久久这里有精品15一区二区三区| 日韩视频在线播放| 美女视频一区免费观看| 国产欧美一区二区色老头| 日韩视频在线观看免费| 六月婷婷一区| 亚洲小视频在线观看| 欧美精品三级日韩久久| 亚洲国产精品一区在线观看不卡| 麻豆国产精品777777在线 | 久久久久国产精品一区| 欧美视频中文字幕在线| 亚洲人在线视频| 久久久久成人精品| 亚洲婷婷综合色高清在线 | 亚洲国产精品精华液2区45| 亚洲欧美激情一区| 国产精品久久久久免费a∨大胸| 亚洲人成亚洲人成在线观看图片| 久久免费精品日本久久中文字幕| 亚洲免费影视| 国产精品久久久久999| 99精品福利视频| 91久久线看在观草草青青| 麻豆成人综合网| 在线观看欧美精品| 麻豆国产精品一区二区三区| 久久国产加勒比精品无码| 国产美女精品一区二区三区| 欧美一区二区三区久久精品| 亚洲欧美日韩综合一区| 国产精品一区二区你懂得| 午夜精品国产更新| 亚洲一区二区三区四区在线观看| 国产精品视频午夜| 久久精品最新地址| 久久久久免费视频| 亚洲欧洲日本在线| 91久久精品日日躁夜夜躁欧美 | 在线成人www免费观看视频| 久久免费偷拍视频| 裸体丰满少妇做受久久99精品| 影音先锋久久资源网| 欧美成人乱码一区二区三区| 欧美国产日韩一区二区| 亚洲一卡久久| 性色av一区二区三区| 亚洲国产精品999| 日韩天天综合| 国产美女扒开尿口久久久| 久久婷婷av| 欧美精品一区在线发布| 亚洲综合国产| 久久久久久久一区二区三区| 日韩视频在线免费| 午夜天堂精品久久久久| 国产在线一区二区三区四区| 亚洲成色777777在线观看影院| 欧美日本网站| 久久久久久成人| 欧美成人高清| 午夜精品一区二区三区四区| 久久成人这里只有精品| 99成人在线| 久久精品一区二区三区不卡| 欧美成人精品高清在线播放| 国产精品视频精品视频| 蜜臀99久久精品久久久久久软件| 欧美大片一区二区| 午夜在线精品| 久久亚洲国产成人| av72成人在线| 久久久人成影片一区二区三区观看| 亚洲精品一区在线| 欧美有码视频| 亚洲视屏在线播放| 免费成人你懂的| 久久久99爱| 国产精品美女久久久免费| 欧美激情中文字幕乱码免费| 国产视频精品va久久久久久| 亚洲最新在线| 亚洲人体一区| 久久这里只有| 久久综合九九| 国产伦精品一区二区三区视频黑人 | 欧美在线观看你懂的| 欧美日韩国产精品一区二区亚洲| 久久午夜视频|