XMLを生成するxercesのインターネットで見つけた例を見てきました。トランスコード機能は何らかのエンコードを実行しているように見えますが、移入先のバッファーは決して解放されません。ドキュメントによると、ti を手動でリリースする必要があります。
注: 返されたバッファーは動的に割り当てられ、不要になったときに削除するのは呼び出し元の責任です。XMLString::release を呼び出して、この返されたバッファを解放できます。
doc->release はこれをメモリから解放できますか?
XMLCh tempStr[100];
XMLString::transcode("Range", tempStr, 99);
DOMImplementation* impl = DOMImplementationRegistry::getDOMImplementation(tempStr, 0);
XMLString::transcode("root", tempStr, 99);
DOMDocument* doc = impl->createDocument(0, tempStr, 0);
DOMElement* root = doc->getDocumentElement();
XMLString::transcode("FirstElement", tempStr, 99);
DOMElement* e1 = doc->createElement(tempStr);
root->appendChild(e1);
XMLString::transcode("SecondElement", tempStr, 99);
DOMElement* e2 = doc->createElement(tempStr);
root->appendChild(e2);
doc->release();