ToB企服应用市场:ToB评测及商务社交产业平台
标题:
函数指针和std::function在成员函数的使用区别
[打印本页]
作者:
前进之路
时间:
2025-1-6 01:26
标题:
函数指针和std::function在成员函数的使用区别
成员函数
,函数指针和 std::function 的区别很明显。成员函数的调用需要依赖于对象实例(即 this 指针),因此它们的处置惩罚方式与普通函数不同。以下是具体分析:
1.
成员函数指针
定义
:成员函数指针是指向类成员函数的指针,它的类型包罗类信息。
特点
:
语法复杂,尤其是涉及多级指针和类型转换时。
调用成员函数时需要显式转达对象实例(this 指针)。
只能指向特定类的成员函数,不能指向普通函数或 lambda 表达式。
适用场景
:适用于需要直接调用特定类成员函数的场景。
示例代码:
[code]#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
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4