gg
当前位置: 首页 >> MFC >> 相关推荐

关于接口的实现类,在构造函数中是否应该将引用计数置为1的搜索推荐

比如我写了一个接口IA,从IUnknown继承 然后写了一个实现IA的类 那么这个类在构造函数中是否应该将引用计数置为1?还是0? 0 No,ATL的模板类会为你控制引用计数,具体是在IUnkown::AddRef/ReleaseRef实现中。 引用2楼horris的回复: No,ATL的模板类会为你控制引用计数,具体是在IUnkown::AddRef/ReleaseRef实现中。 跑题啦。我自己实现的接口,不用ATL之类的 我觉得在构造函数里置1才好吧?因为new的时候就是一个新实例了啊 其他地方在queryinterface的时候,引用计数+1 如果如1楼朋友说的,那在其他地方ueryinterface后再release后,引用计数就为零了啊,那不是释放了吗,那new的那个实例会错误吧 请你保证addRef和Release成对。 CreateInstance的时候,使用new,如果不成功,使用delete,不要使用Release释放。 应该置0,而非1 调用CreateInstance和QueryInterface时,COM会自动加1的不用你加。你只需要Release 当然如果你完全抛弃COM那套东西,只不过想用IUnkuow的计数的话。那你需要重定义IUnKnow中的AddRefRelease等函数,自己写实现,该+1就+1,该-1就-1。IUnKnow中定义的都是纯虚函数。 ls一看就没用过c写com 因为用户创建接口后要调用addref如果你在构造函数里面置1,...

查看详情

搜索推荐
关于引用计数

请问高手,如何在com中进行接口级的引用计数...

cb5中实现的COM对象 接口函数是否可以使用IStream作为接口参数?

如何实现? ------------ 可以! ------------ to coking 在CB提供的可视化接口设计工具中,我添加新的接口函数时,可用参数类型列表中怎么没有IStream类型?...

COM中接口聚合时引用计数的问题?

大家好,我是新手我最近在看<COM技术内幕>,对其中的聚合时的引用计数觉得没看懂,故来发问,请大家帮我. 如这时的引用计数该怎样设计? 大体上必需的...

是否可以用传入对象地址的自定义构造函数替代拷贝构造函数

直接用一个例子吧://定义一个类TEST有一个数据成员a。构造函数有两个,一个没有参数,一个传入一个TEST对象的地址。class TEST{ int a; public: void set...

ATL接口类//error:为什么抽象类无法实例化对象?构造函数都可以实现!

CMyTest::CMyTest(){}CMyTest::CMyTest(int param):ValAtl(param){}void CMyTest::Inside(){CMyTest obj(10);//error:为什么抽象类无法实例化对象?构造函数都可以...

adf如何可以查到对象的引用计数是多少呢?[当对象的引用计数为0时就释放,可是如何知道它的引用是多少呢?]

fdsa如何可以查到对象的引用计数是多少呢?[当对象的引用计数为0时就释放,可是如何知道它的引用是多少呢?]-----------为了从理论上明白对象引用的机制,我想知道如...

没有合适的默认构造函数可用,麻烦高人看看,哪里有调用默认构造函数,区别仅仅是是否使用了匿名的局部变量

class Test{public:Test(Test* pTest){}};Test* pTest = NULL;int main(){Test(pTest);// Test test = Test(pTest);} error C2512: “Test”: 没有合适的默认构造...

我是新手,c#中构造函数调用构造函数的目的是什么?仅仅是赋值的话,那所有重载的构造函数都一样了?

c#中构造函数调用构造函数的目的是什么?)仅仅是赋值的话,那所有重载的构造函数都一样了?其实我认为不是为了赋值,用this关键字调用其他构造函数,在调用此构...

组件实现了多个接口,是否必须从第一个接口QueryInterface得到别的接口?

例如一个组件有两个接口IF,IG还是说,可以CoCreateInstance直接得到IG接口,而不需要先CoCreateInstance得到IF,再用IF的QueryInterface得到IG?谢谢。 --------...

麻烦给出一个接口实现的例子。接口应该用.net类库中的一个常用接口

麻烦给出一个接口实现的例子。接口应该用.net类库中的一个常用接口 ------------ IComparer 接口http://msdn.microsoft.com/zh-cn/library/system.collections...

关于函数返回非引用对象类型时要调用几次默认构造函数

如果有一个类形如:class myclass{public: myclass(int i,char const *cn="Noname"): ival(i),cname(cn) { cout << "this in constructor of " <...

Java接口的构造函数

书上说在接口中是不应当有构造函数的,但是设想一下情景:类B实现了接口A,且B有一个不带参数的构造方法,然后声明 A a = new b(),按理说子类实例化要调用父类的...

请问C++中一个函数以类(或类的引用)作为参数和返回值,其中是如何调用该类得构造函数和析构函数的?

如题:#include <iostream>using namespace std;class A{public:A(int m=0){cout<<"A的默认构造函数执行\n";} ~A(){cout<<"A的默认析构...

请问构造函数与析构函数应该怎么处理异常?

Test::Test(const char* filename){ FILE* f = fopen(filename, "rb");if (!f){return;}...}这样用return编译没错,但我想寻找正确的方法。 -------...

怎样修改ADC驱动程序,删除该驱动程序中的adc_write接口函数,增加adc_ioctrl接口函数,实现与adc_write接口函数相同的功能。

#include <linux/module.h> //定义与模块有关的宏的#include <linux/init.h> //module_init所需的头文件#include <linux/devfs_fs_kernel....

热门搜索 - TryCatch Copyright © 2012-2013 tc5u.com 版权所有