【发布时间】:2011-03-28 02:56:30
【问题描述】:
是否有用于在托管类型中包含本机指针的 C++/CLI RAII 智能指针类?只是想知道,在我编写自己的clr_scoped_ptr 值类模板之前。
我知道 Microsoft 提供的:
containment of a managed handle in a native class:
auto_gcrootcontainment of a managed handle in a managed class:
auto_handle
以上两个类似于auto_ptr或unique_ptr。
但所有这些都是为了释放托管的 ref 类实例,而不是为了释放本机对象。
【问题讨论】:
-
有趣。如果您写自己的
clr_scoped_ptr,请将其作为答案发布。 -
@sad_man:请在此处查看我的代码:codereview.stackexchange.com/q/1695/2150
-
我发现这个答案也很有帮助:stackoverflow.com/a/12674472/929315
-
@rotsiser:我看了一分钟就看到了几个严重的错误。没关系,预期的行为甚至不接近这个问题的要求。
-
@BenVoigt:我在寻找在 C++/CLI 类中管理本机智能指针(在我的例子中为
shared_ptr)的东西时发现了这个问题。如果链接的问题对您没有帮助,我很抱歉,但它帮助了我,我认为它可能会帮助其他可能遇到此问题的有类似需求的人。您是否知道更适合与shared_ptr一起使用的解决方案?