菜问题:关于com里的接口指针是一个指向指针的指针还是一个指向指针的指针的指针?
问题点数:10、回复次数:4Top
1 楼ePing(是谁动了我的CSDN的ID?)回复于 2001-09-03 16:22:27 得分 0
前面一截Top
2 楼ciml(镜子)回复于 2001-09-03 16:38:48 得分 0
但我觉得到最终的函数代码好像经过了三重指针
关于接口的内存模型我很糊涂,看了书也没怎么明白,特别是vtable
请高手帮我解释一下!Top
3 楼thatwind(我也想飞耶)回复于 2001-09-03 18:39:25 得分 3
Vtable其实说白了就是一个指向纯虚基类的指针,通过它可以访问各个接口内部的方法。
因而对于我们编程的人来讲,感觉就像是指向方法的指针的指针一样,其实不然。Top
4 楼legendcat(梦)回复于 2001-09-06 11:23:18 得分 7
接口指针--->Vtable--->接口函数指针列表
从C++类的指针结构去理解这个指针:
C++类定义中包括成员变量和成员函数。其中成员函数放在一个代码段空间内,在每一个进程中只有一份拷贝。当我们新键一个类实例的时候,只是新建他们的数据成员,并拷贝该类输出函数的Vtable指针。所以,C++类指针的结构应该是这样的:
----------
类指针-->|Vtable | ---->接口函数指针列表
| |
|成员变量 |
----------
COM接口只不过比C++类少一个成员变量而已。Top




