1

私は xerces-c++ を使用していますが、実際には使用していないようです。そのため、XMLString::release ( XMLCh ** buf)現在、次のようにローカル変数を再利用するたびに使用しています。

XMLCh* xmlStringVar = XMLString::Transcode("name");
XMLCh* fieldName = fieldsNodeList[NbreFlds]->getAttribute(xmlStringVar));
XMLString::release(&xmlStringVar);
xmlStringVar = XMLString::Transcode("id");
XMLCh* fieldId = fieldsNodeList[NbreFlds]->getAttribute(xmlStringVar));

何かが間違っている場合は、このコードを修正してXMLString::releaseください。関数のより明確な説明が得られた場合は、お知らせください。

4

2 に答える 2

1

Xerces のドキュメントには次のように書かれています。割り当て解除のみの場合は、(ポインターのアドレスではなく) ポインターを渡すだけで十分です。

于 2012-03-26T11:14:17.350 に答える
1

完全に有効に見えます。XMLString::releaseのドキュメントにあるように、これを使用して、transcode() 関数によって割り当てられたメモリを解放します。

于 2012-03-26T11:06:38.117 に答える