I have char* array and I am dynamically allocating memory for it.

char *strData = new char[length+1];

This char* I am passing to _bstr_t as below,

_bstr_t bstrData = strData;

How to free up the memory allocated for the char* through bstrData ?

有帮助吗?

解决方案

_bstr_t manages its own internal buffer (created by SysAllocString). So once you create the _bstr_t, it's safe to delete the char array you've allocated. bstrData will still be absolutely useful.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top