<?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 +Schlüssel +delete]]></title><description><![CDATA[<p>Hi,<br />
Wenn ich bei einer map als Schlüssel einen mit new erzeugten pointer a_ptr übergebe, und ich dann das element mit schlüssel a_ptr lösche, wird dann die Instanz der Klasse zerstört ??<br />
Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/248950/map-schlüssel-delete</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 17:38:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/248950.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 31 Aug 2009 18:16:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to map +Schlüssel +delete on Mon, 31 Aug 2009 18:16:38 GMT]]></title><description><![CDATA[<p>Hi,<br />
Wenn ich bei einer map als Schlüssel einen mit new erzeugten pointer a_ptr übergebe, und ich dann das element mit schlüssel a_ptr lösche, wird dann die Instanz der Klasse zerstört ??<br />
Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769970</guid><dc:creator><![CDATA[AlexXXx]]></dc:creator><pubDate>Mon, 31 Aug 2009 18:16:38 GMT</pubDate></item><item><title><![CDATA[Reply to map +Schlüssel +delete on Mon, 31 Aug 2009 18:18:38 GMT]]></title><description><![CDATA[<p>Wenn du den Zeiger mit <code>erase()</code> entfernst, wird die Instanz dahinter nicht zerstört, folglich hast du ein Memory Leak.</p>
<p>Merke dir: Zu jedem <code>new</code> gehört ein <code>delete</code> und zu jedem <code>new[]</code> ein <code>delete[]</code> . Es gibt zwar ein paar Ausnahmen, aber die lasse ich jetzt mal weg...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769971</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 31 Aug 2009 18:18:38 GMT</pubDate></item><item><title><![CDATA[Reply to map +Schlüssel +delete on Mon, 31 Aug 2009 18:28:31 GMT]]></title><description><![CDATA[<p>Ja hätte mich auch gewundert.<br />
Das zu jedem new ein delete gehört ist schon klar.<br />
SPeicher löcher erzeuge ich schon relativ lange nciht mehr=)<br />
Was mir nicht klar ist:<br />
Ich habe new für eine klasse überschrieben.<br />
Wenn ich die matrix mit new instanziere, wird mein new operator aufgerufen, und es funktioniert alles.<br />
Wenn ich aberr mein new operator von einer Memberfunktion aus aufrufe, gehts schief.<br />
Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769973</guid><dc:creator><![CDATA[AlexXXx]]></dc:creator><pubDate>Mon, 31 Aug 2009 18:28:31 GMT</pubDate></item><item><title><![CDATA[Reply to map +Schlüssel +delete on Mon, 31 Aug 2009 18:35:53 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">511       /**
512        *  @brief Erases an element from a %map.
513        *  @param  position  An iterator pointing to the element to be erased.
514        *
515        *  This function erases an element, pointed to by the given
516        *  iterator, from a %map.  Note that this function only erases
517        *  the element, and that if the element is itself a pointer,
518        *  the pointed-to memory is not touched in any way.  Managing
519        *  the pointer is the user's responsibility.
520        */
521       void
522       erase(iterator __position)
523       { _M_t.erase(__position); }
</code></pre>
<p>Also der Speicher wird nciht zerstört. Das ist sicher. Daran kanns nicht liegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1769982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1769982</guid><dc:creator><![CDATA[AlexXXx]]></dc:creator><pubDate>Mon, 31 Aug 2009 18:35:53 GMT</pubDate></item></channel></rss>