首页 > 代码库 > c++成员函数
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.
c++成员函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。