c++類函數指標

來源:互聯網
上載者:User

標籤:c++

在研究quick-3.3的時候,跟蹤觸摸事件分發部分的函數,發現了一個少見(多怪)的寫法: ->*。

void Widget::pushDownEvent(){    this->retain();    if (_touchEventCallback)    {        _touchEventCallback(this, TouchEventType::BEGAN);    }        if (_touchEventListener && _touchEventSelector)    {        (_touchEventListener->*_touchEventSelector)(this,TOUCH_EVENT_BEGAN);    }    this->release();}

經調查這就是傳說中的類函數指標,自己寫了一個例子來測試。


//FuckTest.hclass FuckTest{public:void shitFunction1( void){printf("liujianlog : call  shitFunction1 ");}void shitFunction2( void);};


#include <stdio.h>#include "FuckTest.h"typedef void (fuckTest::* ShitFunctionOutside)(void ) ;//定義一個類成員函數int main(int argc, const char * argv[]) {ShitFunctionOutside shitFunctionOutside= &FuckTest::shitFunction1;FuckTest fuckTest;(fuckTest.*shitFunctionOutside)();//here .*    return 0;}


c++類函數指標

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.