小编Bri*_*ian的帖子

C++函数为无法调用SysFreeString()的函数返回BSTR

请耐心等待,我已经成为一名c ++程序员了一会儿.

我需要知道我是否做错了.它有效,但我怀疑它会导致内存泄漏.我有这个功能:

_bstr_t WCH2BSTR(wchar_t* st)
{
    BSTR stres = SysAllocString(st);
    return (_bstr_t)stres;
}
Run Code Online (Sandbox Code Playgroud)

假设我要使用这样的结果:

wcout << WCH2BSTR(wCharArr) << " done." << endl;
Run Code Online (Sandbox Code Playgroud)

这会导致内存泄漏,还是像Java中的"垃圾收集器"一样删除BSTR?

如果是内存泄漏,我怎样才能防止它而不失去作为单行程序的能力呢?有时WCH2BSTR的结果存储在BSTR变量中并正确处理,但我想使用相同的函数将wchar_t连接到BSTR以及单行方式.

谢谢.

c++ windows winapi bstr

2
推荐指数
1
解决办法
441
查看次数

标签 统计

bstr ×1

c++ ×1

winapi ×1

windows ×1