<?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[dynamischen speicher frei geben]]></title><description><![CDATA[<p>Hallo!</p>
<p>Und zwar hab ich ein dynamisches 2D - array angelegt. Und nun möchte ich, bevor mein Programmfenster schließt den Speicherplatz natürlich wieder freigeben.<br />
Hab das folgendermaßen implementiert:</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; area_size; ++i) {
delete [] area[i];
}
delete [] area;
</code></pre>
<p>Mein Compiler schreit zwar nicht, aber das heißt ja noch lang nicht, dass das korrekt ist. Jetzt wollt ich fragen, ob mir jemand sagen kann, ob das stimmt, oder ob ich da einen kompletten Blödsinn fabriziert haben?<br />
Danke ...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/178761/dynamischen-speicher-frei-geben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 01:04:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/178761.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 14 Apr 2007 15:37:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to dynamischen speicher frei geben on Sat, 14 Apr 2007 15:37:05 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Und zwar hab ich ein dynamisches 2D - array angelegt. Und nun möchte ich, bevor mein Programmfenster schließt den Speicherplatz natürlich wieder freigeben.<br />
Hab das folgendermaßen implementiert:</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; area_size; ++i) {
delete [] area[i];
}
delete [] area;
</code></pre>
<p>Mein Compiler schreit zwar nicht, aber das heißt ja noch lang nicht, dass das korrekt ist. Jetzt wollt ich fragen, ob mir jemand sagen kann, ob das stimmt, oder ob ich da einen kompletten Blödsinn fabriziert haben?<br />
Danke ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266015</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266015</guid><dc:creator><![CDATA[life_drake]]></dc:creator><pubDate>Sat, 14 Apr 2007 15:37:05 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen speicher frei geben on Sat, 14 Apr 2007 15:48:19 GMT]]></title><description><![CDATA[<p>life_drake schrieb:</p>
<blockquote>
<p>Hallo!</p>
<p>Und zwar hab ich ein dynamisches 2D - array angelegt. Und nun möchte ich, bevor mein Programmfenster schließt den Speicherplatz natürlich wieder freigeben.<br />
Hab das folgendermaßen implementiert:</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; area_size; ++i) {
delete [] area[i];
}
delete [] area;
</code></pre>
<p>Mein Compiler schreit zwar nicht, aber das heißt ja noch lang nicht, dass das korrekt ist. Jetzt wollt ich fragen, ob mir jemand sagen kann, ob das stimmt, oder ob ich da einen kompletten Blödsinn fabriziert haben?<br />
Danke ...</p>
</blockquote>
<p>Hängt davon ab, wie du den Speicher angefordert hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266020</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 14 Apr 2007 15:48:19 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen speicher frei geben on Sat, 14 Apr 2007 16:03:33 GMT]]></title><description><![CDATA[<p>Nein, das ist nicht korrekt. Du benutzt <code>int</code> für Größenangaben. Das ist absolut falsch! Der korrekte Type ist <code>std::size_t</code> . Aber zumindest solltest du ein Vorzeichenlosen Type benutzen!</p>
<p>(Aber ohne zu sehen wie du den Speicher angefordert hast, kann man natürlich weitere Fehler nicht sehen)</p>
<p>btw. solltest du lieber automatische Speicherfreigabe benutzen zB std::vector oä</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266034</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Sat, 14 Apr 2007 16:03:33 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen speicher frei geben on Sat, 14 Apr 2007 16:11:56 GMT]]></title><description><![CDATA[<p>Speicher hab ich wie folgt angefordert:</p>
<pre><code class="language-cpp">int ** area = new int *[area_size];			
for (int i = 0; i &lt; area_size; ++i) {
	area[i] = new int [area_size];		
}
</code></pre>
<p>Ich wills vorerst mal nicht automatisch freigeben! ... Aber danke für den Tip.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266041</guid><dc:creator><![CDATA[life_drake]]></dc:creator><pubDate>Sat, 14 Apr 2007 16:11:56 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen speicher frei geben on Sat, 14 Apr 2007 17:30:13 GMT]]></title><description><![CDATA[<p>rüdiger schrieb:</p>
<blockquote>
<p>Nein, das ist nicht korrekt. Du benutzt <code>int</code> für Größenangaben. Das ist absolut falsch! Der korrekte Type ist <code>std::size_t</code> . Aber zumindest solltest du ein Vorzeichenlosen Type benutzen!</p>
</blockquote>
<p>Ist das nicht eher eine Frage des möglichen Wertebereichs von area_size? Der Hinweis selbst ist ja gut und richtig - aber int als absolut falsch hinzustellen, ist etwas übertrieben.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/2144">@life_drake</a>: Dann ist das soweit in Ordnung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266085</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 14 Apr 2007 17:30:13 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen speicher frei geben on Sat, 14 Apr 2007 17:31:29 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/6642">@camper</a> thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266088</guid><dc:creator><![CDATA[life_drake]]></dc:creator><pubDate>Sat, 14 Apr 2007 17:31:29 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen speicher frei geben on Sat, 14 Apr 2007 18:45:17 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>rüdiger schrieb:</p>
<blockquote>
<p>Nein, das ist nicht korrekt. Du benutzt <code>int</code> für Größenangaben. Das ist absolut falsch! Der korrekte Type ist <code>std::size_t</code> . Aber zumindest solltest du ein Vorzeichenlosen Type benutzen!</p>
</blockquote>
<p>Ist das nicht eher eine Frage des möglichen Wertebereichs von area_size? Der Hinweis selbst ist ja gut und richtig - aber int als absolut falsch hinzustellen, ist etwas übertrieben.</p>
</blockquote>
<p>Er war schon immer Missionar, habe Nachsicht <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>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266128</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Sat, 14 Apr 2007 18:45:17 GMT</pubDate></item><item><title><![CDATA[Reply to dynamischen speicher frei geben on Sat, 14 Apr 2007 18:58:29 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>rüdiger schrieb:</p>
<blockquote>
<p>Nein, das ist nicht korrekt. Du benutzt <code>int</code> für Größenangaben. Das ist absolut falsch! Der korrekte Type ist <code>std::size_t</code> . Aber zumindest solltest du ein Vorzeichenlosen Type benutzen!</p>
</blockquote>
<p>Ist das nicht eher eine Frage des möglichen Wertebereichs von area_size? Der Hinweis selbst ist ja gut und richtig - aber int als absolut falsch hinzustellen, ist etwas übertrieben.</p>
</blockquote>
<p>Natürlich ist int falsch. Wenn area_size den Typ int hat, ist das auch falsch. Zwei Fehler machen aber kein Richtig <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>
<p>Signed-Integer für Größenangaben zu verwenden sorgt einfach für unmengen an potentiellen Ärger (darunter Sicherheitslücken!). Also sollte man sich so etwas direkt abgewöhnen.</p>
<p><a href="http://einfach-mal-die-fresse-halten.net/" rel="nofollow">@Side Winder</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1266133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1266133</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Sat, 14 Apr 2007 18:58:29 GMT</pubDate></item></channel></rss>