智能指针的指针怎么做?

yourway yourway 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
用ATL写一个插件。我需要从主程序获得一个对象的数组。
函数的定义是这样的:
virtual HRESULT __stdcall IGetWires (
/*[in]*/ long * Count,
/*[out,retval]*/ struct IWire * * * Wires ) = 0;

第一个参数是数组的长度,第二个参数是返回的对象。
如果不用CComPtr可以这样写:
IWire **pWires ;
hres = pRoute->IGetWires(&i,&pWires);

但是如果使用智能指针CComPtr我该怎么定义呢?我尝试了
CComPtr<IWire> *spWires ;
hres = spRoute->IGetWires(&i,&spWires);
和
CComPtr<IWire*> spWires ;
hres = spRoute->IGetWires(&i,&spWires);

但是上面两种写法都不对。
小弟第一次使用智能指针CComPtr,对它还不太了解,还请各位赐教。

...全文

相关推荐

C++智能指针用法详解

"C++智能指针是为了解决C++中手动内存管理的问题,通过自动调用析构函数释放内存,防止内存泄漏。本文详细介绍了7种常见的智能指针:std::auto_ptr、boost::scoped_ptr、bo

weixin_38564085

C++实现智能指针

当然,这只是一个基本的实现示例,实际应用中可能需要考虑更多的细节,比如线程安全性、自定义删除器等。但是,通过上述实现,你可以了解智能指针的基本原理和用法,并在实际开发中使用它来提高代码的安全性和可维护性。在拷贝赋值运算符中,我们首先检查是否为自赋值,然后递减当前对象的引用计数,如果引用计数减为零,则释放资源。智能指针是C++中一种重要的资源管理工具,它可以帮助程序员自动管理动态分配的内存,避免内存泄漏和悬挂指针等问题。如果指针不为空,我们会为引用计数分配内存,并将其初始化为1,表示有一个指针指向了资源。

2301_79366332

C++智能指针实例详解

"C++智能指针是解决C++中手动内存管理问题的一种高效工具,能够自动释放new分配的内存,防止内存泄漏。本文详细介绍了多种智能指针的使用,包括std::auto_ptr、boost::scoped_

weixin_38721652

C++11 智能指针之shared_ptr代码详解

因此,在使用原始指针来构造shared_ptr之前,必须确保这个原始指针是没有被其他智能指针所持有的。

weixin_38704870

c++句柄,智能指针 指针间的区别

* 智能指针可以用来处理线程安全、提供写时赋值、提供远程交互服务以及扩展指针方法等。* 智能指针类将指针变量作为成员变量封装起来,在智能指针类对象离开作用域时,会再析构的过程中完成指针的释放。

mnbw5433
评论 10
收藏 已收藏
分享
返回顶部
yourway
ATL 3,248 成员 48,530 内容