"="연산자의 내부 작업 원칙은 특정 Microsoft C++ 확장을 기반으로하며 레거시 C++ 연산자 오버로드와는 아무 관련이 없습니다. 그것은에 조작 변환 -, 컴파일러가 구성원 선택 연산자의 오른쪽 (".", ">"또는) 에이 속성 선언 된 데이터의 부재를 감지하면
는 property (C++)
보기 그러한 표현식이 l- 값인지 r- 값인지에 따라 get 또는 put 함수를 호출합니다.
당신의 (a MSXML?.DLL
등) DLL에서 COM 정의를 가져올 #import
를 사용
하는 TLH 파일 (A C++ 헤더)는 DLL과 관련된 형식 라이브러리의 내용을 반영하는 생성됩니다. 당신이 라인,
IDispatch
에서 상속, 구조체
IXMLDOMNode
에 대한 선언을 찾을 것 TLH에서
:
__declspec(property(get=Gettext,put=Puttext))
_bstr_t text;
Gettext
및 Puttext
방법은 TLI 파일 (인라인 함수) 정의, 동안 생성 수입. 항상 통화의 종류를 들어, HRESULT
를 반환으로,
inline void IXMLElement::Puttext (_bstr_t p) {
HRESULT _hr = put_text(p);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
}
put_text
방법은 인터페이스 포인터를 통해 원시 호출하고, :
Puttext
방법이다. 그렇습니다. 이론 상으로는이 단계가 실패 할 수 있습니다.