Microsoft MVP성태의 닷넷 이야기
[답변]: CreateInstance를 부르시는 것이 추천됩니다. [링크 복사], [링크+제목 복사],
조회: 16230
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
부모글 보이기/감추기

왜냐하면. 그것은 CComObject::CreateInstance의 소스를 보시면 확인하실 수 있습니다.

atlcom.h 파일에 있는 소스를 보면, 대략 다음과 같습니다.

template <class Base>
HRESULT WINAPI CComObject<Base>::CreateInstance(CComObject<Base>** pp) throw()
{
    CComObject<Base> *p = new CComObject<Base>();
    p->Construct 관련한 약간의 부가작업 메서드 호출
}

위에서 보시는 것처럼, CreateInstance 내부에서 new CComObject<T>()를 호출하지요.
부가 메서드들은 ATL 관련 소스 코드 작성하시면서 많이 봤던 초기화 관련 코드들입니다.

만약, 해당 클래스에 FinalConstruct와 FinalRelease 등에 코드를 추가하셨다면 new와 CreateInstance의 차이가 없습니다.








[최초 등록일: ]
[최종 수정일: 12/20/2022]


비밀번호

댓글 작성자
 




NoWriterDateCnt.TitleFile(s)