我是否需要释放由_Type :: get_FullName填充的BSTR

时间:2012-12-26 23:18:41

标签: c++ bstr clr-hosting

我有一些看起来像这样的代码:

_TypePtr spType = NULL;
. . . // host the CLR and populate that type
{
    BSTR fullName;
    spType->get_FullName(&fullName);
    wprintf(L"Got type %s\n", fullName);
}

我需要释放那个bstr吗?我如何释放它SysFreeString()?如果不是为什么?

1 个答案:

答案 0 :(得分:1)

BSTRSysAllocString动态分配(如果我正确地回忆起这个名字,请检查它!)。

有相应的释放功能。

只需 阅读文档


如果您正在使用Visual C ++编译器,并且不打算将代码移植到其他编译器,那么您可以使用与Visual C ++捆绑在一起的“smart BSTR”类。我无法回想起这个名字。但是像_bstr_t这样的东西。等等,检查文档......好吧,在索引中输入“_bstr”提供了名称,我认为它是_bstr_t! : - )

使用“智能”类可以为你处理释放。