Khi phân bổ một BSTR mới với SysAllocString thông qua một wchar_t * trên heap, sau đó tôi nên giải phóng wchar_t ban đầu * trên heap?Tôi có thể giải phóng bộ nhớ cho SysAllocString không?
Vậy đây có phải là cách phù hợp không?
wchar_t *hs = new wchar_t[20];
// load some wchar's into hs...
BSTR bs = SysAllocString(hs);
delete[] hs;
Tôi có nên gọi xóa tại đây để giải phóng bộ nhớ không? Hay là bộ nhớ đó đã được BSTR chấp nhận?
Kind of hài hước - Tôi hoàn toàn không nhận định các biến khi tôi đăng câu trả lời của tôi (mà tôi sau đó bị xóa). Tôi "thấy" xóa [] bs; thay vì hs. Tôi phải cần kính mới. –