<?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[Wodurch kommen Memoryleaks zustande?]]></title><description><![CDATA[<p>Mal so dahergefragt: Wie kommt sowas zustande? Wie kann man das grundsätzlich vermeiden bzw. vorhandene beseitigen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/176498/wodurch-kommen-memoryleaks-zustande</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 15:51:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/176498.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 21 Mar 2007 19:42:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Wed, 21 Mar 2007 19:42:32 GMT]]></title><description><![CDATA[<p>Mal so dahergefragt: Wie kommt sowas zustande? Wie kann man das grundsätzlich vermeiden bzw. vorhandene beseitigen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250051</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Wed, 21 Mar 2007 19:42:32 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Wed, 21 Mar 2007 20:14:47 GMT]]></title><description><![CDATA[<p>Ein Leak kommt dadurch zustande dass man was anfordert/anlegt/holt und es dann nicht wieder freigibt/zerstört/zurückgibt. Ganz einfach.<br />
Vermeiden tut man es indem man beim Programmieren aufpasst bzw. versucht soweit wie möglich das &quot;freigeben&quot; zu automatisieren.<br />
Und beseitigen tut man Leaks indem man den Fehler behebt der dazu führt dass irgendwas nicht freigegeben wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250071</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 21 Mar 2007 20:14:47 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Wed, 21 Mar 2007 20:24:12 GMT]]></title><description><![CDATA[<p>smart_pointer könnte man hier auch mal in die Runde werfen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1250080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250080</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Wed, 21 Mar 2007 20:24:12 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Wed, 21 Mar 2007 20:40:47 GMT]]></title><description><![CDATA[<p>Was mir zu dem Thema noch immer nicht ganz klar geworden ist:</p>
<p>Nach meinem Wissen müsste der Heap nach beendigung des Programmes wieder aufgeräumt sein, kein fehlendes delete am Programmende egal sein.</p>
<p>In den diskussionen scheint es aber als ob nicht freigegebener Speicher für immer (bis zum reboot) &quot;verlohren&quot; ist.</p>
<p>Was stimmt jetzt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250090</guid><dc:creator><![CDATA[darthdespotism]]></dc:creator><pubDate>Wed, 21 Mar 2007 20:40:47 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Wed, 21 Mar 2007 20:45:07 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Das kommt drauf an. Unter altem 16-bit DOS war das auch der Fall.<br />
Aber unter modernen Bestriebssystem passt das OS auf den Speicher auf. Wenn ein Programm geschlosssen wird, wird grundsätzlich aller zu dem Programm gehörenden Speicher freigegeben.<br />
Ausnahmen gibts bei anderen Ressourcen wie Exklusivzugriffe auf Dateien.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250091</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 21 Mar 2007 20:45:07 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Wed, 21 Mar 2007 21:19:36 GMT]]></title><description><![CDATA[<p>Also sollte man Variablen, Objekte usw. die Speicher zugewiesen bekommen haben immer wenn sie nicht mehr benötigt werden wieder freigeben/zerstören. Welche Techniken, Methoden sind für die jeweiligen Objekte zuständig oder am besten geeignet?</p>
<p>Werden denn beispielsweise Variablen, wenn sie aus dem Sichtbarkeitsbereich raus sind nicht automatisch freigegeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250114</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Wed, 21 Mar 2007 21:19:36 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Wed, 21 Mar 2007 21:22:58 GMT]]></title><description><![CDATA[<p>Um alles was du auf dem Stack anlegst brauchst du dich nicht kümmern. Alles auf dem Head angelegt wird (mit new) muss auch wieder von dir (mit delete) gelöscht werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250117</guid><dc:creator><![CDATA[Ford P]]></dc:creator><pubDate>Wed, 21 Mar 2007 21:22:58 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Wed, 21 Mar 2007 21:33:44 GMT]]></title><description><![CDATA[<p>Gilt dies auch für arrays? Wie wird das dort gemacht? Gibts ein konkretes Beispiel?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250127</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Wed, 21 Mar 2007 21:33:44 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Wed, 21 Mar 2007 21:43:35 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Für Arrays gilt das gleiche, außer das für new[] auch delete[] benutzt werden muß. Zu dynamischen Arrays gibts außerdem schon genug Threads hier.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250134</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 21 Mar 2007 21:43:35 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Thu, 22 Mar 2007 10:26:57 GMT]]></title><description><![CDATA[<p>Nicht virtuelle dtors</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250343</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Thu, 22 Mar 2007 10:26:57 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Thu, 22 Mar 2007 10:31:32 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Du kannst auch bei codeproject mal nach visual leak detectos schauen. damit kannst du sehr leicht nach leaks suchen.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1250352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1250352</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 22 Mar 2007 10:31:32 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Sat, 24 Mar 2007 11:59:44 GMT]]></title><description><![CDATA[<p>Ford P schrieb:</p>
<blockquote>
<p>Um alles was du auf dem Stack anlegst brauchst du dich nicht kümmern. Alles auf dem Head angelegt wird (mit new) muss auch wieder von dir (mit delete) gelöscht werden.</p>
</blockquote>
<p>Aus welchem Grund sollte man denn dann new benutzen? Mir scheint, als würde man sich die Arbeit damit nur erschweren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    />.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251566</guid><dc:creator><![CDATA[basti33]]></dc:creator><pubDate>Sat, 24 Mar 2007 11:59:44 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Sat, 24 Mar 2007 12:02:42 GMT]]></title><description><![CDATA[<p>Wenn du z.B nicht im voraus weiszt wieviel Speicher du brauchst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251569</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Sat, 24 Mar 2007 12:02:42 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Sat, 24 Mar 2007 12:06:05 GMT]]></title><description><![CDATA[<p>Shinja schrieb:</p>
<blockquote>
<p>Wenn du z.B nicht im voraus weiszt wieviel Speicher du brauchst.</p>
</blockquote>
<p>Was soll ich mir darunter vorstellen? Wenn ich ein Programm ohne new und delete schreibe, dann gebe ich doch auch nirgends an, wieviel Speicher ich brauche. Und bei Arrays kann man doch einen Vector oder sowas in der Art nehmen, wenn es dynamisch sein soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251572</guid><dc:creator><![CDATA[basti33]]></dc:creator><pubDate>Sat, 24 Mar 2007 12:06:05 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Sat, 24 Mar 2007 12:07:27 GMT]]></title><description><![CDATA[<p>Und womit arbeitet ein vector wohl?<br />
Richtig, mit new und delete.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251573</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Sat, 24 Mar 2007 12:07:27 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Sat, 24 Mar 2007 12:09:41 GMT]]></title><description><![CDATA[<p>Shinja schrieb:</p>
<blockquote>
<p>Und womit arbeitet ein vector wohl?<br />
Richtig, mit new und delete.</p>
</blockquote>
<p>Ja, aber darum muss ich mich doch nicht kümmern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251577</guid><dc:creator><![CDATA[basti33]]></dc:creator><pubDate>Sat, 24 Mar 2007 12:09:41 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Sat, 24 Mar 2007 14:20:32 GMT]]></title><description><![CDATA[<p>&quot;Wenn ich ein Programm ohne new und delete schreibe&quot;</p>
<p>sobald du nen vector benutzt, stimmt die aussage ja nicht mehr. dann hast du new/delete verwendet, wenn auch indirekt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251645</guid><dc:creator><![CDATA[new-delete]]></dc:creator><pubDate>Sat, 24 Mar 2007 14:20:32 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Sat, 24 Mar 2007 15:52:26 GMT]]></title><description><![CDATA[<p>sobald du aber nicht kopierbare oder abstrakte Objekte in einem Vector speichern willst, kommst du nicht um new/delete herum (musst sie ja als Zeiger speichern und vorher auf dem Heap allozieren), da helfen aber auch referenzzaehlende smart pointer gegen das Vergessen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1251693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1251693</guid><dc:creator><![CDATA[Superlexx]]></dc:creator><pubDate>Sat, 24 Mar 2007 15:52:26 GMT</pubDate></item><item><title><![CDATA[Reply to Wodurch kommen Memoryleaks zustande? on Sun, 25 Mar 2007 18:00:49 GMT]]></title><description><![CDATA[<p>basti33 schrieb:</p>
<blockquote>
<p>...Aus welchem Grund sollte man denn dann new benutzen?...</p>
</blockquote>
<p>Neben der schon erwähnten &quot;Bestimmung der Objektgröße/Anzahl zur Laufzeit&quot; dallen mir noch 2 Argumente ein:<br />
- Scopes: Wenn Dein Objekt außerhalb Deines Scopes (z.B. Factoryklasse) weiterleben soll, kommst Du ohne new nicht weiter.<br />
- Laufzeitpolymorphie: Wenn Du unterschiedliche &quot;Kinder einer Basis&quot; gleich behandeln möchtest, ist das oftmals mit Heapobjekten einfacher (nud manchmal nur so sinnvoll möglich).<br />
Zusammen kommen die beiden Aspekte, wenn Du mehrere Objekte polymorph in einem vector ablegen möchtest...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1252393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1252393</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Sun, 25 Mar 2007 18:00:49 GMT</pubDate></item></channel></rss>