다음은 실수를하기 전에 꼭 확인하고 싶은 매우 기본적인 C++ 질문입니다.함수 값에 의한 전달과 자유 할당
I는 이하와 같은 구조체가 obj
:
struct obj
{
BSTR str;
}
및 기능 foo
에서 I는 cComObject<obj> ex
초기화 및 STR에 메모리를 할당.
그런 다음 함수 foo
에서 함수 bar(ex)
(변수 ex
)을 호출했습니다.
이 경우 힙 누출을 방지하려면 bar
의 ex.str
을 해제해야합니까?
감사
** ['_bstr_t'] (http://msdn.microsoft.com/en-us/library/5yb2sfxk(v=80) .aspx) **을 사용하지 않는 이유는 무엇입니까? 무료로 메모리 관리 기능을 사용할 수 있습니다. 전환뿐만 아니라 '_variant_t'도 참조하십시오. – sehe
가상의'foo' 및'bar' 메소드와 같은 좀 더 많은 코드를 보여 주시면 도와 드리겠습니다. – Jashaszun
@sehe ahh 나는이 특별한 상황을 요구하고있었습니다. 힙 메모리가있는 객체를 값으로 전달하면 피 호출자에서도 힙 메모리를 해제해야합니다. –