标签: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.h class 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++
原文地址:http://blog.csdn.net/einsteinlike/article/details/44154639