我正在做一些 COM 编程,我的编译器是 gcc。这意味着 CComPtr 对我不可用。如何使用 Boost 轻松实现替换?我需要的语义是:
AddRef
复制时调用Release
破坏时调用额外:能够判断它指向的对象是否仍然有效(不确定这是否可能)
我认为可以使用shared_ptr
自定义删除器,但我对这些功能不是很熟悉(我也不知道如何让它调用AddRef
和Release
)。我知道我可以手工制作这个类,但我很确定这个功能在 Boost 中以通用形式提供。
我正在做一些 COM 编程,我的编译器是 gcc。这意味着 CComPtr 对我不可用。如何使用 Boost 轻松实现替换?我需要的语义是:
AddRef
复制时调用
Release
破坏时调用
额外:能够判断它指向的对象是否仍然有效(不确定这是否可能)
我认为可以使用shared_ptr
自定义删除器,但我对这些功能不是很熟悉(我也不知道如何让它调用AddRef
和Release
)。我知道我可以手工制作这个类,但我很确定这个功能在 Boost 中以通用形式提供。