![]() |
1
3
对象 . 你的QI实现正确地做到了这一点。 如果没有接口标识的保证,COM方法就不能假定它所传递的IUnknown指针与它在调用该指针上的QI时所检索的IUnknown指针相同。因此,如果需要证明对象同一性,那么就需要一个单独的QI。 |
![]() |
2
2
作为
Hans
指出,你的执行
这是政府的责任
用户
要使用的COM对象的
实施者 防止用户做错事。 它是否会导致应用程序失败取决于应用程序 关于比较COM对象的标识。 MSDN: The Rules of the Component Object Model
Oleg 指出,对象标识的失败将产生相当有限的影响,因为COM接口成员的调用基本上不受影响—如果函数签名匹配,则每个虚拟表条目将指向相同的函数地址。
所有COM智能指针实现都使用
失败不会显化的一种特殊情况是类没有任何菱形继承。但是,隐式强制转换在COM中总是非法的,不管它是否使应用程序崩溃。 |
![]() |
3
2
所以你在课堂上实现了
更新
好 啊。你说如果你投
在纯C中实现COM有很多很好的例子。在这种情况下,您需要定义一个静态结构,其中包含指向虚拟函数的指针,如
再说一句话。在一些评论中,您提到了有许多方法实现的可能性
|
![]() |
4
0
如果你有
但是。。。
所以答案是(再次)
|
![]() |
Silverspur · “X是Y的模糊基”:多重继承噩梦 7 年前 |
![]() |
Aedoro · 扩展多个类的C++函数参数 7 年前 |
|
user6022430 · Python3.4多重继承调用特定构造函数 8 年前 |
![]() |
Mark van der Wilk · 用于重写继承方法的Mixin 8 年前 |
![]() |
pasha · 是否可以为复制基的虚拟函数提供不同的定义? 9 年前 |
![]() |
Daniel · 如何使继承从父类到子类python34起作用 9 年前 |