簡単な例をとると:
_bstr_t smartString(L"MyString");
Process(smartString); // takes BSTR.
当初、_bstr_tには_bstr_tからBSTRに変換するBSTR演算子があると思いましたが、msdnを見ると、そのような演算子は定義されていません。
_bstr_tをBSTRパラメータに、または_variant_tをVARIANTにpassignすると、どのように機能しますか?
簡単な例をとると:
_bstr_t smartString(L"MyString");
Process(smartString); // takes BSTR.
当初、_bstr_tには_bstr_tからBSTRに変換するBSTR演算子があると思いましたが、msdnを見ると、そのような演算子は定義されていません。
_bstr_tをBSTRパラメータに、または_variant_tをVARIANTにpassignすると、どのように機能しますか?
BSTR
は(wtypes.hファイル)に編集され、後者はtypedef
(winnt.hファイル)に編集され、メンバー変数があります。したがって、コンパイラはその演算子を変換に使用するだけです。WCHAR*
typedef
wchar_t*
_bstr_t
operator wchar_t*()