Все, что вы выделите с помощью new
, не будет никогда автоматически очищаться - вам (или, по крайней мере, кому-то) нужно позвонить delete header;
и т. Д.
Я говорю «кто-то», потому что вполне возможно, что TiXmlDocument
объект получает владение этими объектами и очищает их сам - единственный способ узнать это - проверить документацию TinyXML.
Если он не вступает во владение, лучше просто объявить локальные объекты в стеке:
TiXmlDeclaration decl( "1.0", "", "" ); // etc.
Если вам нужно, чтобы объекты сохранялись после окончания функции, безопаснее использовать общие указатели, например, Boost's shared_ptr
.