2

LPCTSTR が _bstr_t に割り当てられているコードを見つけました。BSTR は MSDN に従って長さ情報を提供しますが、一般的な TCHAR ポインターは提供しないため、次のコードが安全かどうかはわかりません。これを安全に可能にするオーバーロードされた演算子があるという手がかりは見つかりませんでしたが、これは明らかなエラーなしで機能するようですが、未定義の動作である可能性があります。

例:

// pComObject->Property is of type _bstr_t
pComObject->Property = (LPCTSTR) string;
4

1 に答える 1

2

はい、 null で終わる文字列 (ワイドとマルチバイトの両方) を受け入れるoperator=_bstr_tがあるため、これは安全です

于 2012-04-04T14:42:11.527 に答える