<?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[Speicher freigabe komplexer, verschachtelter Elemente.]]></title><description><![CDATA[<p>Hi!</p>
<pre><code class="language-cpp">struct data
{
	vector &lt;string&gt; a;
	vector &lt;string&gt; b;
};

data* data_factory()
{
	data* pdata = new data;
	pdata-&gt;a.push_back(&quot;a1&quot;);
	pdata-&gt;b.push_back(&quot;b1&quot;);
	return pdata;
}

int main ( int argc, char* argv[] ) 
{ 
	vector &lt;data*&gt; vd;
	data* pd = data_factory();
	vd.push_back(pd);
	// ...
	// Wird mit dieser Zeile auch der Speicherplatz von
	// vector &lt;string&gt; a und vector &lt;string&gt; b in der Struktur
	// freigegeben?
	vd.clear();
//...
</code></pre>
<p>Ich bin jahrelanges C programmieren gewöhnt, da muss man den allokierten Speicherplatz selbst vewalten; daher mögen euch meine Fragen eigenartig erscheinen, aber:<br />
Sorgt beim Aufruf von vc.clear() das Compilersystem automatisch für die generierung von Code, sodass vector &lt;string&gt; a und vector &lt;string&gt; b geleert werden?<br />
Gruß,<br />
m.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/245758/speicher-freigabe-komplexer-verschachtelter-elemente</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 13:08:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/245758.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 18 Jul 2009 12:08:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Speicher freigabe komplexer, verschachtelter Elemente. on Sat, 18 Jul 2009 12:08:55 GMT]]></title><description><![CDATA[<p>Hi!</p>
<pre><code class="language-cpp">struct data
{
	vector &lt;string&gt; a;
	vector &lt;string&gt; b;
};

data* data_factory()
{
	data* pdata = new data;
	pdata-&gt;a.push_back(&quot;a1&quot;);
	pdata-&gt;b.push_back(&quot;b1&quot;);
	return pdata;
}

int main ( int argc, char* argv[] ) 
{ 
	vector &lt;data*&gt; vd;
	data* pd = data_factory();
	vd.push_back(pd);
	// ...
	// Wird mit dieser Zeile auch der Speicherplatz von
	// vector &lt;string&gt; a und vector &lt;string&gt; b in der Struktur
	// freigegeben?
	vd.clear();
//...
</code></pre>
<p>Ich bin jahrelanges C programmieren gewöhnt, da muss man den allokierten Speicherplatz selbst vewalten; daher mögen euch meine Fragen eigenartig erscheinen, aber:<br />
Sorgt beim Aufruf von vc.clear() das Compilersystem automatisch für die generierung von Code, sodass vector &lt;string&gt; a und vector &lt;string&gt; b geleert werden?<br />
Gruß,<br />
m.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1745260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1745260</guid><dc:creator><![CDATA[memfree0r]]></dc:creator><pubDate>Sat, 18 Jul 2009 12:08:55 GMT</pubDate></item><item><title><![CDATA[Reply to Speicher freigabe komplexer, verschachtelter Elemente. on Sat, 18 Jul 2009 12:16:01 GMT]]></title><description><![CDATA[<p>vd.clear() entfernt nur die Elemente as dem Vektor. Mit normalen Objekten würden diese auch zerstört. Da du aber Pointer drinnen hast, leben die danach weiter. Du musst also über alle Elemente deines Vectors iterieren und jedes Element mittels delete löschen. Dann werden aber auch automatisch die strings aus data gelöscht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1745271</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1745271</guid><dc:creator><![CDATA[delet0r]]></dc:creator><pubDate>Sat, 18 Jul 2009 12:16:01 GMT</pubDate></item><item><title><![CDATA[Reply to Speicher freigabe komplexer, verschachtelter Elemente. on Sat, 18 Jul 2009 12:20:18 GMT]]></title><description><![CDATA[<p>Die Vektoren verwalten ihre Elemente. In Deinem Fall sind das u.a. Zeiger. Die Zeiger werden auch ordnungsgemäß zerstört. Das, worauf sie Zeigern, ist allerdings Dein Bier. Die Antwort ist also: Nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1745273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1745273</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Sat, 18 Jul 2009 12:20:18 GMT</pubDate></item><item><title><![CDATA[Reply to Speicher freigabe komplexer, verschachtelter Elemente. on Sat, 18 Jul 2009 12:29:54 GMT]]></title><description><![CDATA[<p>Ok, supi, vielen Dank! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1745279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1745279</guid><dc:creator><![CDATA[memfree0r]]></dc:creator><pubDate>Sat, 18 Jul 2009 12:29:54 GMT</pubDate></item></channel></rss>