Nói rằng tôi có như sau:Hiểu toán tử gán CComBSTR
BSTR myBSTR = SysAllocString(L"MYBSTR");
CComBSTR myCComBSTR = myBSTR;
Có quyền sở hữu myCComBSTR
mất của myBSTR
và miễn phí nó khi nó đi ra khỏi phạm vi? Hay nó tạo ra một bản sao của myBSTR
và tạo ra một rò rỉ bộ nhớ nếu tôi không miễn phí myBSTR
?
Nếu điều này tạo ra rò rỉ bộ nhớ, cách hiệu quả nhất để xử lý vấn đề này là gì? (myBSTR
sẽ được chuyển vào một hàm dưới dạng BSTR
và tôi muốn lưu trữ nó dưới dạng CComBSTR
nội bộ)
Sự khác biệt giữa CComBSTR :: Đính kèm và CComBSTR :: AssignBSTR là gì? –
@ mvdavid7, AssignBSTR không chuyển quyền sở hữu và chỉ tạo bản sao. Đính kèm quyền sở hữu chuyển giao cho 'CComBSTR' và không sao chép. – JaredPar