小弟有几个地方不大明白,望高手指点:
#define VTBL(iname) iname#vtbl#define GET_PVTBL(p,iname) ((iname*)p)->pvt
#define INIT_VTBL(p,iname,vt) \
{ \
static void *gluevtbl; \
GET_PVTBL(p,iname)=VTBL(iname)*gluevtbl;\
}
请问INIT_VTBL(Pme,IApplet,*appfuncs)有什么作用?其中Pme 是一个对象,*appfuncs是一个函数指针。
#define VTBL(iname) iname#vtbl#define GET_PVTBL(p,iname) ((iname*)p)->pvt
#define INIT_VTBL(p,iname,vt) \
{ \
static void *gluevtbl; \
GET_PVTBL(p,iname)=VTBL(iname)*gluevtbl;\
}
请问INIT_VTBL(Pme,IApplet,*appfuncs)有什么作用?其中Pme 是一个对象,*appfuncs是一个函数指针。
static void* gluevtbl;
((IApplet*)Pme)->pvt= IAppletvtbl * gluevtbl;
}