0

私はこのように見えるいくつかのコードを持っています:

_TypePtr spType = NULL;
. . . // host the CLR and populate that type
{
    BSTR fullName;
    spType->get_FullName(&fullName);
    wprintf(L"Got type %s\n", fullName);
}

そのbstrを解放する必要がありますか?SysFreeString()を解放するにはどうすればよいですか?そうでない場合はなぜですか?

4

1 に答える 1

1

ABSTRはによって動的に割り当てられますSysAllocString(名前を正しく思い出せたら、確認してください!)。

対応する解放関数があります。

ドキュメントを読むだけです。


Visual C++ コンパイラを使用していて、コードを他のコンパイラに移植する予定がない場合は、Visual C++ にバンドルされている "スマート BSTR" クラスを使用できます。名前がはっきり思い出せない。しかし、のようなもの_bstr_t。待って、ドキュメントを確認してください... OK、インデックスに「_bstr」と入力すると、名前が付けられました_bstr_t。思った通りです! :-)

「スマート」クラスを使用すると、割り当て解除が処理されます。

于 2012-12-26T23:36:35.123 に答える