<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[tinyXml]]></title><description><![CDATA[<p>Hallo ich wollte mal Fragen ob mir von euch jemand etwas erklären kann. Dieses Beispiel hier:</p>
<pre><code class="language-cpp">TiXmlDocument doc;
	TiXmlDeclaration * decl = new TiXmlDeclaration( &quot;1.0&quot;, &quot;&quot;, &quot;&quot; );
	TiXmlElement * element = new TiXmlElement( &quot;Hello&quot; );
	TiXmlText * text = new TiXmlText( &quot;World&quot; );
	element-&gt;LinkEndChild( text );
	doc.LinkEndChild( decl );
	doc.LinkEndChild( element );
	doc.SaveFile( &quot;madeByHand.xml&quot; );
</code></pre>
<p>Nutzt ja einmal ein Objekt doc und die ganzen pointer wie decl und element. Warum ist das so? Hat das was mit Dynamischer Speicherverwaltung zu tun oder an was mache ich den Einsatz jeweils fest.<br />
Außerdem würde ich gerne wissen, wie ist das wenn ich den ganzen Code in eine Schleife packe? Ich bekomme ja jedesmal eine neue Datei. Aber wie ist das mit dem Speicher? Wird der für die Pointer jedesmal neu allokiert und ich bekomme irgendwann Probleme? Oder wird der Pointer dann wenn ich ich den Namen nochmal Benutze automatisch gelöscht?</p>
<p>mfg, Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/276105/tinyxml</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 14:31:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/276105.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 27 Oct 2010 07:40:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to tinyXml on Wed, 27 Oct 2010 07:40:47 GMT]]></title><description><![CDATA[<p>Hallo ich wollte mal Fragen ob mir von euch jemand etwas erklären kann. Dieses Beispiel hier:</p>
<pre><code class="language-cpp">TiXmlDocument doc;
	TiXmlDeclaration * decl = new TiXmlDeclaration( &quot;1.0&quot;, &quot;&quot;, &quot;&quot; );
	TiXmlElement * element = new TiXmlElement( &quot;Hello&quot; );
	TiXmlText * text = new TiXmlText( &quot;World&quot; );
	element-&gt;LinkEndChild( text );
	doc.LinkEndChild( decl );
	doc.LinkEndChild( element );
	doc.SaveFile( &quot;madeByHand.xml&quot; );
</code></pre>
<p>Nutzt ja einmal ein Objekt doc und die ganzen pointer wie decl und element. Warum ist das so? Hat das was mit Dynamischer Speicherverwaltung zu tun oder an was mache ich den Einsatz jeweils fest.<br />
Außerdem würde ich gerne wissen, wie ist das wenn ich den ganzen Code in eine Schleife packe? Ich bekomme ja jedesmal eine neue Datei. Aber wie ist das mit dem Speicher? Wird der für die Pointer jedesmal neu allokiert und ich bekomme irgendwann Probleme? Oder wird der Pointer dann wenn ich ich den Namen nochmal Benutze automatisch gelöscht?</p>
<p>mfg, Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971243</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971243</guid><dc:creator><![CDATA[oNes]]></dc:creator><pubDate>Wed, 27 Oct 2010 07:40:47 GMT</pubDate></item><item><title><![CDATA[Reply to tinyXml on Wed, 27 Oct 2010 10:03:05 GMT]]></title><description><![CDATA[<p>oNes schrieb:</p>
<blockquote>
<p>Nutzt ja einmal ein Objekt doc und die ganzen pointer wie decl und element. Warum ist das so? Hat das was mit Dynamischer Speicherverwaltung zu tun oder an was mache ich den Einsatz jeweils fest.</p>
</blockquote>
<p>Dokumentation lesen:<br />
<a href="http://www.grinninglizard.com/tinyxmldocs/classTiXmlNode.html#5d29442ae46de6d0168429156197bfc6" rel="nofollow"> <code>TiXmlNode::LinkEndChild</code> </a></p>
<blockquote>
<p>NOTE: the node to be added is passed by pointer, and will be henceforth owned (and deleted) by tinyXml. This method is efficient and avoids an extra copy, but should be used with care as it uses a different memory model than the other insert functions.</p>
</blockquote>
<p>oNes schrieb:</p>
<blockquote>
<p>Außerdem würde ich gerne wissen, wie ist das wenn ich den ganzen Code in eine Schleife packe?</p>
</blockquote>
<p>Pack eine Schleife drumherum. Was ist hier genau die Frage? Wie man eine Schleife macht, weisst du ja wohl, oder?</p>
<p>oNes schrieb:</p>
<blockquote>
<p>Ich bekomme ja jedesmal eine neue Datei.</p>
</blockquote>
<p>Kommt darauf an, wie deine Schleife aussieht. Wenn du einfach dieses Stück Code in eine Schleife packst, dann wird immer das gleiche File überschrieben.</p>
<p>oNes schrieb:</p>
<blockquote>
<p>Aber wie ist das mit dem Speicher? Wird der für die Pointer jedesmal neu allokiert und ich bekomme irgendwann Probleme? Oder wird der Pointer dann wenn ich ich den Namen nochmal Benutze automatisch gelöscht?</p>
</blockquote>
<p>Die Variablen <code>doc</code> , <code>decl</code> , <code>element</code> und <code>text</code> sind Stackvariablen und werden daher am Ende vom Scope freigegeben. Das worauf <code>decl</code> , <code>element</code> und <code>text</code> zeigen, wird von TinyXML freigegeben, sobald <code>doc</code> freigegeben wird (siehe oben).</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971323</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Wed, 27 Oct 2010 10:03:05 GMT</pubDate></item><item><title><![CDATA[Reply to tinyXml on Wed, 27 Oct 2010 15:31:33 GMT]]></title><description><![CDATA[<p>Ja Schleife ist klar.<br />
Da ich aber noch relativ neu bin in der C++ Programmiererei hab ich mir halt so meine Gedanken gemacht, ob das nicht irgendwie zu nem Speicherüberlauf führt wenn ich in jedem Schleifendurchlauf neuen Speicher anfordere.<br />
Habe ich das dann jetzt richtig verstanden: Die Freigabe von doc erfolgt nach dem doc.savefile()? und danach verlieren auch die anderen Variablen Ihre Gültigkeit?</p>
<p>Danke für die Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971550</guid><dc:creator><![CDATA[oNes]]></dc:creator><pubDate>Wed, 27 Oct 2010 15:31:33 GMT</pubDate></item></channel></rss>