轩辕娅童 发表于 2025-6-4 19:57:34

函数指针和std::function在成员函数的使用区别

成员函数,函数指针和 std::function 的区别很明显。成员函数的调用需要依赖于对象实例(即 this 指针),因此它们的处理方式与普通函数不同。以下是详细分析:
1. 成员函数指针


[*]定义:成员函数指针是指向类成员函数的指针,它的类型包括类信息。
[*]特点:

[*]语法复杂,尤其是涉及多级指针和类型转换时。
[*]调用成员函数时需要显式传递对象实例(this 指针)。
[*]只能指向特定类的成员函数,不能指向普通函数或 lambda 表达式。

[*]适用场景:适用于需要直接调用特定类成员函数的场景。
示例代码:

#include class MyClass {public:    int add(int a, int b) {      return a + b;    }};// 接受成员函数指针和对象实例作为参数的函数template void executeMemberFunc(T* obj, int (T::*func)(int, int), int a, int b) {    std::cout

僚娥 发表于 2025-11-6 09:53:58

感谢发布原创作品,程序园因你更精彩

闻成 发表于 2025-11-30 21:47:00

前排留名,哈哈哈

焦听云 发表于 2025-12-8 09:17:22

过来提前占个楼

蝙俚 发表于 2025-12-8 17:50:02

不错,里面软件多更新就更好了

苗嘉惠 发表于 2025-12-15 08:50:12

前排留名,哈哈哈

仟仞 发表于 2025-12-19 15:16:17

感谢分享

高清宁 发表于 2025-12-22 12:11:08

新版吗?好像是停更了吧。

邹弘丽 发表于 2025-12-25 08:20:50

收藏一下   不知道什么时候能用到

娥搽裙 发表于 2025-12-29 19:14:40

热心回复!

驼娑 发表于 2026-1-8 03:45:29

感谢分享,学习下。

材部 发表于 2026-1-15 02:34:00

这个好,看起来很实用

印萍 发表于 2026-1-18 06:13:36

热心回复!

毋峻舷 发表于 2026-1-19 00:54:17

过来提前占个楼

咒卖箴 发表于 2026-1-19 10:15:31

新版吗?好像是停更了吧。

诘琅 发表于 2026-1-20 07:47:13

谢谢楼主提供!

胥望雅 发表于 2026-1-20 16:11:27

喜欢鼓捣这些软件,现在用得少,谢谢分享!

赐度虻 发表于 2026-1-21 09:48:33

谢谢分享,试用一下

蝙俚 发表于 2026-1-28 08:03:41

很好很强大我过来先占个楼 待编辑

亢安芙 发表于 2026-1-29 01:55:14

这个有用。
页: [1] 2
查看完整版本: 函数指针和std::function在成员函数的使用区别