<?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[Wird Speicher einer Map automatisch freigegeben?]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe</p>
<pre><code class="language-cpp">this-&gt;points = new std::map&lt;int, std::vector&lt;double&gt; *&gt;();
</code></pre>
<p>Wird der Speicher des vector beim Aufruf</p>
<pre><code class="language-cpp">delete points;
</code></pre>
<p>automatisch freigegeben?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/278590/wird-speicher-einer-map-automatisch-freigegeben</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 04:14:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/278590.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 09 Dec 2010 14:00:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wird Speicher einer Map automatisch freigegeben? on Thu, 09 Dec 2010 14:00:54 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe</p>
<pre><code class="language-cpp">this-&gt;points = new std::map&lt;int, std::vector&lt;double&gt; *&gt;();
</code></pre>
<p>Wird der Speicher des vector beim Aufruf</p>
<pre><code class="language-cpp">delete points;
</code></pre>
<p>automatisch freigegeben?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1991938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1991938</guid><dc:creator><![CDATA[curry-king]]></dc:creator><pubDate>Thu, 09 Dec 2010 14:00:54 GMT</pubDate></item><item><title><![CDATA[Reply to Wird Speicher einer Map automatisch freigegeben? on Thu, 09 Dec 2010 14:07:32 GMT]]></title><description><![CDATA[<p>Nein, da es sich nicht um einen std::vector handelt, sondern nur um einen Zeiger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1991942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1991942</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Thu, 09 Dec 2010 14:07:32 GMT</pubDate></item><item><title><![CDATA[Reply to Wird Speicher einer Map automatisch freigegeben? on Thu, 09 Dec 2010 14:14:01 GMT]]></title><description><![CDATA[<p>Ok, eigentlich logisch, danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1991946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1991946</guid><dc:creator><![CDATA[curry-king]]></dc:creator><pubDate>Thu, 09 Dec 2010 14:14:01 GMT</pubDate></item><item><title><![CDATA[Reply to Wird Speicher einer Map automatisch freigegeben? on Thu, 09 Dec 2010 15:43:20 GMT]]></title><description><![CDATA[<p>Ein Zeiger auf eine map und ein Zeiger auf einen vector. Wieso werde ich das Gefühl nicht los, dass du Unsinn machst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1992007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1992007</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 09 Dec 2010 15:43:20 GMT</pubDate></item><item><title><![CDATA[Reply to Wird Speicher einer Map automatisch freigegeben? on Thu, 09 Dec 2010 16:15:15 GMT]]></title><description><![CDATA[<p>Ich vermute, dass es damit zusammenhängt, dass du so was schon häufiger gesehen hast, vorwiegend bei Leuten, die von Java zu C++ kommen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>curry-king: Zeiger in Containern machen in aller Regel nur dann Sinn, wenn du Laufzeitpolymorphie betreibst. Das ist bei den Containern der Standardbibliothek nicht der Fall; sie eignen sich nicht als Basisklassen (ihnen fehlt ein virtueller Destruktor). Im Zweifel ist es sinnvoller,</p>
<pre><code class="language-cpp">std::map&lt;int, std::vector&lt;double&gt;*&gt; *points;
</code></pre>
<p>durch</p>
<pre><code class="language-cpp">std::map&lt;int, std::vector&lt;double&gt; &gt; points;
</code></pre>
<p>zu ersetzen. Das sieht dann auch hübscher aus, statt</p>
<pre><code class="language-cpp">(*points)[42]-&gt;push_back(3.141);
</code></pre>
<pre><code class="language-cpp">points[42].push_back(3.141);
</code></pre>
<p>schreiben zu können, und die Speicherverwaltung geht vollautomatisch.</p>
<p>Solltest du irgendwann in die Lage kommen, Zeiger auf Heap-Objekte in Containern verstauen zu müssen, kann ich dir <a href="http://www.boost.org/doc/libs/1_45_0/libs/ptr_container/doc/ptr_container.html" rel="nofollow">Boost Pointer Container</a> wärmstens empfehlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1992044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1992044</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Thu, 09 Dec 2010 16:15:15 GMT</pubDate></item></channel></rss>