c++成员函数
以前我一直以为类内部的成员函数的参数相当于隐含了一个this指针.比如
class A
{
int f();
}
我一直认为f的类型是int (*f)(A*),直到最近写一个回调函数的时候才发现原先的理解一直是有误的
看如下代码:
#include <stdio.h>
class A
{
public:
int f()
{
return 0;
}
};
typedef int (A::*pfun)();
typedef int(*pfun2)(A*);
int main()
{
A instance1;
A instance2;
//pfun p1 = &(instance1.f);
pfun p1 = &A::f;
//pfun2 p2 = &A::f;
printf("%0x",p1);
return 0;
}
f的类型是pfun而不是pfun2.
作者:sdu20112013
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎转载,转载请注明出处.
浙公网安备 33010602011771号