<?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[Verständnisfrage Dynamischer Speicher]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>Warum ist es in C++ möglich/notwendig, Speicher manuell per &quot;new&quot; anzufordern? Ich kann in meinem Programm ja überall neue Variablen definieren?</p>
<p>Ist das ein altes C-Konstrukt, weil da nur am Anfang des Programms Speicher reserviert werden konnte?</p>
<p>Danke für eure Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/261623/verständnisfrage-dynamischer-speicher</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 04:31:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/261623.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 21 Feb 2010 15:19:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verständnisfrage Dynamischer Speicher on Sun, 21 Feb 2010 15:19:38 GMT]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>Warum ist es in C++ möglich/notwendig, Speicher manuell per &quot;new&quot; anzufordern? Ich kann in meinem Programm ja überall neue Variablen definieren?</p>
<p>Ist das ein altes C-Konstrukt, weil da nur am Anfang des Programms Speicher reserviert werden konnte?</p>
<p>Danke für eure Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859136</guid><dc:creator><![CDATA[Miness]]></dc:creator><pubDate>Sun, 21 Feb 2010 15:19:38 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisfrage Dynamischer Speicher on Sun, 21 Feb 2010 15:35:51 GMT]]></title><description><![CDATA[<p>Miness schrieb:</p>
<blockquote>
<p>Warum ist es in C++ möglich/notwendig, Speicher manuell per &quot;new&quot; anzufordern? Ich kann in meinem Programm ja überall neue Variablen definieren?</p>
</blockquote>
<p>Ja, überall, aber der Speicher lebt dann nur solange, wie die Funktion läuft, in der der Speicher angelegt wurde. new-Speicher lebt länger!!</p>
<p>Schau Dir mal eine verkettet Liste an. Eine Funktion, die der Liste einen neuen Satendatz anhängt, geht supi mit new, aber ohne?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859140</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 21 Feb 2010 15:35:51 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisfrage Dynamischer Speicher on Sun, 21 Feb 2010 15:38:37 GMT]]></title><description><![CDATA[<p>OK, die Sache mit der verketteten Liste habe ich erst jetzt gesehen. Stimmt, da wird es wirklich schwierig ohne &quot;new&quot;... <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>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859142</guid><dc:creator><![CDATA[Miness]]></dc:creator><pubDate>Sun, 21 Feb 2010 15:38:37 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisfrage Dynamischer Speicher on Sun, 21 Feb 2010 15:42:11 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Schau Dir mal eine verkettet Liste an. Eine Funktion, die der Liste einen neuen Satendatz anhängt, geht supi mit new, aber ohne?</p>
</blockquote>
<p>Ginge auch. <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="😉"
    /><br />
Allerdings bei einer Liste eher weniger zu empfehlen und auf eine Art nicht dynamisch. Man könnte so viel Speicher, wie erwartet allozieren (statisch) und dann halt einfach Zeiger auf Teile holen und wieder zurückgeben. Bei einer Liste ist das natürlich Unsinn, aber es ginge.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859144</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 21 Feb 2010 15:42:11 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisfrage Dynamischer Speicher on Sun, 21 Feb 2010 15:46:41 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>volkard schrieb:</p>
<blockquote>
<p>Schau Dir mal eine verkettet Liste an. Eine Funktion, die der Liste einen neuen Satendatz anhängt, geht supi mit new, aber ohne?</p>
</blockquote>
<p>Ginge auch. <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="😉"
    /><br />
Allerdings bei einer Liste eher weniger zu empfehlen und auf eine Art nicht dynamisch. Man könnte so viel Speicher, wie erwartet allozieren (statisch) und dann halt einfach Zeiger auf Teile holen und wieder zurückgeben. Bei einer Liste ist das natürlich Unsinn, aber es ginge.</p>
</blockquote>
<p>Aber dann ist es ja überhaupt keine Liste mehr, oder? ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859147</guid><dc:creator><![CDATA[Miness]]></dc:creator><pubDate>Sun, 21 Feb 2010 15:46:41 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisfrage Dynamischer Speicher on Sun, 21 Feb 2010 15:53:21 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>volkard schrieb:</p>
<blockquote>
<p>Schau Dir mal eine verkettet Liste an. Eine Funktion, die der Liste einen neuen Satendatz anhängt, geht supi mit new, aber ohne?</p>
</blockquote>
<p>Ginge auch. <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="😉"
    /><br />
Allerdings bei einer Liste eher weniger zu empfehlen und auf eine Art nicht dynamisch. Man könnte so viel Speicher, wie erwartet allozieren (statisch) und dann halt einfach Zeiger auf Teile holen und wieder zurückgeben. Bei einer Liste ist das natürlich Unsinn, aber es ginge.</p>
</blockquote>
<p>Klar! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
So hab ich es ja in Basic auch gemacht.</p>
<p>Allerdings kommr ich zu folgendem Problem:<br />
Zu Programmstart allokiere ich viele Nodes, ein Gigabyte halt.<br />
Und dann verkette ich flugs die Nodes in eine Freisppeicherliste.<br />
Und dann baue ich mir eine Funktion, die mir einen neuen Node besorgt und eine, die einen verbrauchten Node wieder in die Freispeicherliste hängt.<br />
Und die beiden nenne ich new und delete.<br />
Und bin seltsamerweise, weil ich auf new/delete verzichtete, doch wieder dabei gelandet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859149</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 21 Feb 2010 15:53:21 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisfrage Dynamischer Speicher on Sun, 21 Feb 2010 15:59:06 GMT]]></title><description><![CDATA[<p>Doch. Eine Liste sagt ja nur, dass die Elemente aneinander hängen müssen, was du auch so ganz einfach machen kannst. Wie der Speicher verwaltet wird spielt keine Rolle für das Konzept einer Liste.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/106">@volkard</a>:<br />
Klar wirst du bei so etwas ähnlichem landen, aber der Unterschied von dem normalem new und deinem ist ja, dass du bei dir dann nicht wirklich neuen Speichern vom OS anforderst und auch nicht dynamisch ist, sondern du bereits allen Speicher hast und dann lediglich ein paar Elemente benutzt. Der Rest ist dann &quot;verschwendet&quot;.</p>
<p>Abstrakt gesehen ist es exakt das gleiche korrekt. Darum spielt es für eine Liste ja auch keine Rolle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859150</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 21 Feb 2010 15:59:06 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisfrage Dynamischer Speicher on Sun, 21 Feb 2010 16:42:55 GMT]]></title><description><![CDATA[<p>Außerdem, wenn du Objekte von Klassen (als Zeiger) mit new anlegst, wird am Ende der Funktion nicht der Destruktor aufgerufen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Bei direkter Zuweisung (ohne Operatorüberladung) wird nur die Adresse kopiert :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859164</guid><dc:creator><![CDATA[DarkShadow44]]></dc:creator><pubDate>Sun, 21 Feb 2010 16:42:55 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisfrage Dynamischer Speicher on Sun, 21 Feb 2010 17:05:59 GMT]]></title><description><![CDATA[<p>Ja. Und das hat volkard bereits in seinem ersten Post gesagt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859173</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 21 Feb 2010 17:05:59 GMT</pubDate></item></channel></rss>