DOMDocument C ++内存管理
|
有关C ++中DOM *类createXXX方法的问题。为了释放从DOM * createXXX方法返回的内存,我是否需要做一些特殊的事情?
例如(为了简化起见,删除了转码,并删除了与转码操作相关联的var的相关发行版):
pImplement = DOMImplementationRegistry::getDOMImplementation(\"LS\");
DOMDocument* pDoc = pImplement->createDocument(\"Examples\", \"example\", NULL );
DOMElement* pRoot = pDoc->getDocumentElement();
DOMElement* firstElement = pDoc->createElementNS((\"Examples\", \"example\");
DOMElement* secondElement = pDoc->createElementNS(\"Examples\", \"example2\");
DOMAttr* name = pDoc->createAttribute(\"Name\");
XMLCh* somenameValue = XMLString::transcode(\"Fred\");
name->setValue(somenameValue);
secondElement->setAttributeNode(name);
firstElement->appendChild(secondElement);
当我最终离开该方法时,是否必须对firstElement,secondElement,name进行特殊处理才能从createXXX方法中释放内存?还是pdoc拥有所有内存,我必须等待销毁DOMDocument?
如果增加讨论的内容,我将遍历名称/值逻辑并将多个属性添加到secondElement。
谢谢。
没有找到相关结果
已邀请:
2 个回复
号拳藐孔妇
。但是,我在这里看到两件事会泄漏。首先,您不要在DOM树中插入
,其次,您离开时不会明确删除
。您必须释放元素或将其添加到DOM树中,然后在代码中的后面将其删除。
物崎巩