运算符TYPE()并获取对象的地址

时间:2013-07-11 16:00:57

标签: c++ visual-c++ wrapper atl bstr

ATL课程CComBSTR有一个BSTR成员m_str和一个operator BSTR (),返回m_str

现在,如果函数以BSTR *为参数,是否可以传递CComBSTR的地址?

CComBSTR path;
// signature is IzFileFinder::GetDir(CY index, LPBSTR path)
fileFinder->GetDir(INT64toCURRENCY(i), &path);

编译器没有抱怨,但如果确实没问题,为什么会这样?

1 个答案:

答案 0 :(得分:1)

您没有传递CComBSTR的地址,而是传递其m_str成员的地址。 CComBSTR恰好提供了返回operator&()的{​​{1}}。