C 调用成员函数指针
由于其非静态性质,在 C 中调用成员函数指针需要独特的语法。要有效地调用此类函数,必须与命名参数一起提供表示将调用该函数的对象的 this 指针。
要在代码中指定成员函数指针:
typedef void (Box::*HitTest) (int x, int y, int w, int h);
这为 HitTest 方法定义了一个成员函数指针类型Box 类。
将成员函数添加到列表:
std::list<HitTest> list; for (std::list<Box*>::const_iterator i = boxList.begin(); i != boxList.end(); ++i) { Box * box = *i; list.push_back(&box->HitTest); }
调用指向成员函数的指针:
(box->*h)(xPos, yPos, width, height);
In在这个例子中,box代表this指针, h 是指向 HitTest 方法的指针,xPos、yPos、width 和 height 是函数参数。
以上是如何调用C成员函数指针?的详细内容。更多信息请关注PHP中文网其他相关文章!