我正在做以下事情TinyXml:
TiXmlDocument doc;
TiXmlDeclaration* decl = new TiXmlDeclaration( "1.0", "", "" );
TiXmlElement* main = new TiXmlElement("main");
TiXmlElement* header = new TiXmlElement("header");
header->SetAttribute("attribute","somevalue");
main->LinkEndChild(header);
// ... Add many more TiXmlElment* to other elements all within "main" element
doc.LinkEndChild(decl);
doc.LinkEndChild(main);
// ... do stuff with doc
// Now I am done with my doc. What memory management happens here?
在我的程序执行结束时,所有的TiXmlElement*
当doc
超出范围?我是否需要遍历文档树并自己释放所有内存?
The 的文档LinkEndChild说:
注意:要添加的节点是通过指针传递的,并且今后将由tinyXml 拥有(并删除)。此方法非常高效并且避免了额外的复制,但应谨慎使用,因为它使用与其他插入函数不同的内存模型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)