在 C 中调用指向成员函数的指针
在 C 中,指向成员函数的指针提供了一种动态调用对象方法的便捷方法。然而,它们的语法可能具有挑战性。
调用成员函数指针的语法
要调用指向成员函数的指针,使用以下语法:
(object->*pointer_variable)(params)
其中:
语法示例
考虑以下代码snippet:
typedef void (Box::*HitTest) (int x, int y, int w, int h); for (std::list<HitTest>::const_iterator i = hitTestList.begin(); i != hitTestList.end(); ++i) { HitTest h = *i; (box->*h)(xPos, yPos, width, height); }
在此示例中,迭代了指向 HitTest 成员函数的指针列表。每个指针都从列表中获取,并通过提供框指针来调用,如下所示。
将成员函数添加到指针列表
将成员函数添加到列表的指针,可以使用以下语法:
list.push_back(&box->HitTest);
此代码将指针推送到 HitTest 成员函数将盒子对象放入列表中。
以上是如何在 C 中调用成员函数指针?的详细内容。更多信息请关注PHP中文网其他相关文章!