<?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[Liegen die Daten im Stack oder im Heap]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>mir hat sich gerade ein Problem aufgetan.</p>
<pre><code>struct foo
{
    int data[10];
}

int main()
{
    foo *bar = new foo();
}
</code></pre>
<p>Wo liegt denn jetzt data? Auf dem Stack oder auf dem Heap?<br />
Ich bin mir nicht sicher. Meiner Meinung nach werden die auf den Stack geschoben, oder?</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/326796/liegen-die-daten-im-stack-oder-im-heap</link><generator>RSS for Node</generator><lastBuildDate>Mon, 25 May 2026 06:26:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/326796.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 07 Jul 2014 23:43:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Liegen die Daten im Stack oder im Heap on Mon, 07 Jul 2014 23:43:52 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>mir hat sich gerade ein Problem aufgetan.</p>
<pre><code>struct foo
{
    int data[10];
}

int main()
{
    foo *bar = new foo();
}
</code></pre>
<p>Wo liegt denn jetzt data? Auf dem Stack oder auf dem Heap?<br />
Ich bin mir nicht sicher. Meiner Meinung nach werden die auf den Stack geschoben, oder?</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2407509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2407509</guid><dc:creator><![CDATA[nichtGast]]></dc:creator><pubDate>Mon, 07 Jul 2014 23:43:52 GMT</pubDate></item><item><title><![CDATA[Reply to Liegen die Daten im Stack oder im Heap on Tue, 08 Jul 2014 00:38:24 GMT]]></title><description><![CDATA[<p>bar liegt auf dem Stack, das worauf bar zeigt (also insbesondere bar-&gt;data), liegt auf dem Heap.</p>
<p>(Oder man benutze die Begriffe &quot;automatischer Speicher&quot; und &quot;Freispeicher&quot;, wenn man Standardsprech benutzen möchte, denn die genaue Implementierung dieser Konzepte ist nicht vorgeschrieben.)</p>
<p>Wenn es dir um das Array in deinem struct geht: Es ist völlig ohne Belang, was dein struct enthält. Das struct auf das bar zeigt wurde mit new erzeugt und somit liegt der Inhalt dort, wo new ihn erzeugt hat.</p>
<p>Dies gilt natürlich nicht mehr, wenn ein eventueller Konstruktor des structs indirekt Nutzdaten erzeugt, die dann eventuell woanders liegen können:</p>
<pre><code>struct vector
{
  int *data;

  vector(): data(new int[5]) {}
};

int main()
{
  vector foo;
  // foo liegt auf dem Stack.
  // Somit natürlich auch foo.data.
  // Aber nicht das, worauf foo.data zeigt.
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2407511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2407511</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 08 Jul 2014 00:38:24 GMT</pubDate></item><item><title><![CDATA[Reply to Liegen die Daten im Stack oder im Heap on Tue, 08 Jul 2014 10:12:09 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>(Oder man benutze die Begriffe &quot;automatischer Speicher&quot; und &quot;Freispeicher&quot;, wenn man Standardsprech benutzen möchte, denn die genaue Implementierung dieser Konzepte ist nicht vorgeschrieben.)</p>
</blockquote>
<p>Nur als Anmerkung: Wenn man der übersetzung glauben kann dann bedeutet &quot;Heap&quot; auf deutsch &quot;Freispeicher&quot; (Inn zusammenhang mit der Programmierung)<br />
Quelle: <a href="http://www.dict.cc/?s=heap" rel="nofollow">http://www.dict.cc/?s=heap</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2407539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2407539</guid><dc:creator><![CDATA[firefly]]></dc:creator><pubDate>Tue, 08 Jul 2014 10:12:09 GMT</pubDate></item><item><title><![CDATA[Reply to Liegen die Daten im Stack oder im Heap on Tue, 08 Jul 2014 11:40:35 GMT]]></title><description><![CDATA[<p>Nein, Freispeicher ist die Übersetzung von free store. Was natürlich mehr oder weniger dasselbe ist wie heap.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2407561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2407561</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 08 Jul 2014 11:40:35 GMT</pubDate></item></channel></rss>