<?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[map&#x2F;priority queue: speicher freigeben?]]></title><description><![CDATA[<p>hallo,</p>
<p>mein programm scheint noch ein paar memory leaks zu haben, wobei mir eine map und eine priority queue verdächtig erscheinen.<br />
deshalb habe ich 2 kurze fragen:</p>
<p>bei einer map &quot;m_code&quot;: gibt<br />
m_code.erase(m_code.begin(),m_code.end());<br />
den benutzten speicher wieder frei?</p>
<p>bei einer priority queue &quot;m_knotQueue&quot;:<br />
gibt<br />
while (!m_knotQueue.empty())<br />
m_knotQueue.pop();<br />
den benutzten speicher wieder frei?</p>
<p>das war's auch schon, danke!</p>
<p>martin</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/269269/map-priority-queue-speicher-freigeben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 07:56:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/269269.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Jun 2010 13:05:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to map&#x2F;priority queue: speicher freigeben? on Tue, 22 Jun 2010 13:05:07 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>mein programm scheint noch ein paar memory leaks zu haben, wobei mir eine map und eine priority queue verdächtig erscheinen.<br />
deshalb habe ich 2 kurze fragen:</p>
<p>bei einer map &quot;m_code&quot;: gibt<br />
m_code.erase(m_code.begin(),m_code.end());<br />
den benutzten speicher wieder frei?</p>
<p>bei einer priority queue &quot;m_knotQueue&quot;:<br />
gibt<br />
while (!m_knotQueue.empty())<br />
m_knotQueue.pop();<br />
den benutzten speicher wieder frei?</p>
<p>das war's auch schon, danke!</p>
<p>martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915716</guid><dc:creator><![CDATA[inspire]]></dc:creator><pubDate>Tue, 22 Jun 2010 13:05:07 GMT</pubDate></item><item><title><![CDATA[Reply to map&#x2F;priority queue: speicher freigeben? on Tue, 22 Jun 2010 13:08:19 GMT]]></title><description><![CDATA[<p>inspire schrieb:</p>
<blockquote>
<p>hallo,</p>
<p>mein programm scheint noch ein paar memory leaks zu haben, wobei mir eine map und eine priority queue verdächtig erscheinen.<br />
deshalb habe ich 2 kurze fragen:</p>
<p>bei einer map &quot;m_code&quot;: gibt<br />
m_code.erase(m_code.begin(),m_code.end());<br />
den benutzten speicher wieder frei?</p>
<p>bei einer priority queue &quot;m_knotQueue&quot;:<br />
gibt<br />
while (!m_knotQueue.empty())<br />
m_knotQueue.pop();<br />
den benutzten speicher wieder frei?</p>
<p>das war's auch schon, danke!</p>
<p>martin</p>
</blockquote>
<p>der direkt benutzte Speicher wird wieder freigegeben. Wenn du allerdings Pointer auf irgendwelche Objekte in den Containern speicherst, wird auf diese Pointer kein delete aufgerufen, d.h. du musst den Speicher der Objekte selber freigeben.</p>
<p>Wie kommst du drauf dass dein Programm memory leaks hat? Wenn du sie nicht im Code siehst kann dir das eigentlich nur ein Analyseprogramm zuverlässig sagen, und das wird dann acuh gleich erzählen wo das Leck ist.<br />
Der Taskmanager von Windows ist <strong>keine</strong> zuverlässige Anzeige was den tatsächlichen Speicherverbrauch angeht!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915717</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 22 Jun 2010 13:08:19 GMT</pubDate></item><item><title><![CDATA[Reply to map&#x2F;priority queue: speicher freigeben? on Tue, 22 Jun 2010 13:12:23 GMT]]></title><description><![CDATA[<p>Wenn deine map Pointer beinhaltet, reicht ein erase nicht aus, denn ein delete auf die Pointer wird nicht ausgeführt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915722</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 22 Jun 2010 13:12:23 GMT</pubDate></item><item><title><![CDATA[Reply to map&#x2F;priority queue: speicher freigeben? on Tue, 22 Jun 2010 13:34:41 GMT]]></title><description><![CDATA[<p>ah danke euch, alles klar! <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/1915736</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915736</guid><dc:creator><![CDATA[inspire]]></dc:creator><pubDate>Tue, 22 Jun 2010 13:34:41 GMT</pubDate></item><item><title><![CDATA[Reply to map&#x2F;priority queue: speicher freigeben? on Tue, 22 Jun 2010 15:55:20 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>Wenn deine map Pointer beinhaltet, reicht ein erase nicht aus, denn ein delete auf die Pointer wird nicht ausgeführt.</p>
</blockquote>
<p>Das <code>delete</code> muss man natürlich nicht bei allen Zeigern ausführen, sondern nur bei besitzenden. Und in dem Falle rät es sich, gleich selbstverwaltende Klassen wie <code>boost::ptr_map</code> zu verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1915831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1915831</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 22 Jun 2010 15:55:20 GMT</pubDate></item></channel></rss>