首页 >后端开发 >C++ >如何正确调用和添加C指针到成员函数?

如何正确调用和添加C指针到成员函数?

Susan Sarandon
Susan Sarandon原创
2024-12-07 14:33:12552浏览

How to Correctly Call and Add C   Pointers to Member Functions?

调用 C 成员函数指针

理解在 C 中调用成员函数指针的正确语法至关重要。本题探讨了调用此类指针的具体方法,以及将成员函数添加到列表的过程。

调用成员函数的指针

该问题展示了尝试使用以下语法调用指向成员函数的指针的代码片段:

(*h)(xPos, yPos, width, height);

但是,正确的语法需要同时提供命名参数和 this 指针。因此,更正后的行变为:

(box->*h)(xPos, yPos, width, height);

这确保了在调用成员函数时使用正确的 this 指针。

将成员函数添加到列表

该问题还演示了如何将成员函数添加到列表中。这里,指向成员函数的指针存储在 std::list 中。下面的代码说明了该过程:

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 指针列表,并将每个 HitTest 成员函数的地址推送到 std::list 上。每个成员函数都由指向成员函数的指针表示,该成员函数引用特定 Box 对象的 this 指针。

以上是如何正确调用和添加C指针到成员函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn