C语言中可以用函数地址直接调用函数:
void print () { printf ("function print"); } typdef void (*fun)(); fun f = print; f();
C++中类非静态成员函数必须通过实例去调用,C++中类成员函数调用:
class test { public: void print () { printf ("function print"); } };
我们同样可以通过定义函数指针来调用如下:
typedef void (test::*fun)(); fun f = &test::print; test t; (t.*f)();
如果我们想取函数地址怎么办,直接强转会报错
unsigned int a = reinterpret_cast(f);//编译错误 char buf [32] = {0}; sprintf(buf , "%u", f); int a = atoi( buf);
其实我们知道类成员函数只是函数第一个参数是this指针,但是this指针不是通过普通函数参数压栈方式,而是放进ecx中。
C++中怎么获取类的成员函数的函数指针?
全局函数,或者类的静态函数指针都很好获取, 但普通成员函数指针该怎么取得并调用?
用一个实际代码来说明。
class A { public: static void staticmember(){cout<<"static"<
永劫无间手游测试服 安卓版v1.0.262342
下载永劫无间手游台服 安卓版v1.0.262342
下载永劫无间手游国际服 安卓版v1.0.262342
下载永劫无间手游豌豆荚版 安卓版v1.0.262342
下载曼德拉男孩 最新版v2025.1.1
曼德拉男孩是一款专为女性玩家准备的治愈类恋爱游戏,在这里玩家
游戏开发者无限金币版 最新版v1.0.16
游戏开发者内置菜单版是一款非常好玩的模拟经营类手游,内部有功
没有中间商赚差价内购版 最新版v23.7.3
没有中间商赚差价免广告是一款非常好玩的模拟经营类手游,无需看
我的世界某不科学的空岛下载mcbbs 最新版v隔壁老王
我的世界某不科学的空岛整合包是一款像素风格的模拟沙盒游戏,该
洗衣店模拟器无限钞票免广告版 v2.2.2
洗衣店模拟器无限钞票版是一款模拟经营类手游,玩家们将在游戏中