<?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[Array von Strukturen dynamisch]]></title><description><![CDATA[<p>Was macht die folgende Zeile:<br />
IrgendeinStrukt* S = new IrgendeinStrukt[0];<br />
erzeugt das ein Array von der Stuktur?<br />
auf den Heap?<br />
und wie loesche ich das wieder<br />
delete S;?<br />
loesche ich dann das komplette Array( wenn ich sowas ueberhaupt erschaffen habe )<br />
oder nur den ersten Eintrag?</p>
<p>Danke muli</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/194365/array-von-strukturen-dynamisch</link><generator>RSS for Node</generator><lastBuildDate>Mon, 28 Sep 2026 10:24:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/194365.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 05 Oct 2007 17:27:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array von Strukturen dynamisch on Fri, 05 Oct 2007 17:27:58 GMT]]></title><description><![CDATA[<p>Was macht die folgende Zeile:<br />
IrgendeinStrukt* S = new IrgendeinStrukt[0];<br />
erzeugt das ein Array von der Stuktur?<br />
auf den Heap?<br />
und wie loesche ich das wieder<br />
delete S;?<br />
loesche ich dann das komplette Array( wenn ich sowas ueberhaupt erschaffen habe )<br />
oder nur den ersten Eintrag?</p>
<p>Danke muli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1378783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1378783</guid><dc:creator><![CDATA[muli]]></dc:creator><pubDate>Fri, 05 Oct 2007 17:27:58 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Strukturen dynamisch on Fri, 05 Oct 2007 17:37:27 GMT]]></title><description><![CDATA[<p>Hm, ganz ehrlich frage ich mich, was der Compiler dazu sagt.</p>
<p>EinStruct s* = new EinStruct[0];<br />
erzeugt einen Pointer auf ein Array der Größe 0. Komisch...</p>
<p>Mit delete s; gibst du den Speicher des Objekts hinter s frei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1378787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1378787</guid><dc:creator><![CDATA[mad_martin]]></dc:creator><pubDate>Fri, 05 Oct 2007 17:37:27 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Strukturen dynamisch on Fri, 05 Oct 2007 18:08:52 GMT]]></title><description><![CDATA[<p>Mit new[] angeforderter Speicher _muss_ mit delete[] freigegeben werden! Anderes wäre undefiniert. Manchmal klappt´s, manchmal nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> also lassen!</p>
<p>Ein dynmaisches anglegtes Array der länge 0 ist glaube ich zulässig, nur bringt es nichts <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1378806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1378806</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Fri, 05 Oct 2007 18:08:52 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Strukturen dynamisch on Fri, 05 Oct 2007 19:17:15 GMT]]></title><description><![CDATA[<p>was für eine Adresse bekommt man denn da? Theoretisch doch der erste freie Speicher, und der ist 1, da ist platz. Oder 0, weil man sowiso nichts reinschreiben oder raushohlen darf?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1378831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1378831</guid><dc:creator><![CDATA[Krux]]></dc:creator><pubDate>Fri, 05 Oct 2007 19:17:15 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Strukturen dynamisch on Fri, 05 Oct 2007 20:02:37 GMT]]></title><description><![CDATA[<p>Ich glaube, da darf die libstdc++ quasi tun was sie will. Die vom GCC gibt bei diesem Programm:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main ()
{
    for (int i = 0; i &lt; 0x10; ++i)
        std::cout &lt;&lt; i &lt;&lt; &quot;: &quot; &lt;&lt; (operator new (0)) &lt;&lt; ' ' &lt;&lt; (std::malloc (0)) &lt;&lt; std::endl;
}
</code></pre>
<p>folgendes interessantes aus:</p>
<pre><code>0: 0x400310 0x400300
1: 0x400330 0x400320
2: 0x400350 0x400340
3: 0x400370 0x400360
4: 0x400390 0x400380
5: 0x4003b0 0x4003a0
6: 0x4003d0 0x4003c0
7: 0x4003f0 0x4003e0
8: 0x400410 0x400400
9: 0x400430 0x400420
10: 0x400450 0x400440
11: 0x400470 0x400460
12: 0x400490 0x400480
13: 0x4004b0 0x4004a0
14: 0x4004d0 0x4004c0
15: 0x4004f0 0x4004e0
</code></pre>
<p>Also ist operator new offenbar mit malloc implementiert. Und dafür ist nach C-Standard das Verhalten bei Anforderung von 0 Byte klar implementierungsabhängig.</p>
<pre><code>7.20.3 Memory management functions
...
If the size of the space requested is zero, the behavior is implementation 
defined: either a null pointer is returned, or the behavior is as if the size
were some nonzero value, except that the returned pointer shall not be used to
access an object.
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1378857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1378857</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Fri, 05 Oct 2007 20:02:37 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Strukturen dynamisch on Fri, 05 Oct 2007 20:05:09 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">for (int i = 0; i &lt; 24; ++i)
{
	int* p = new int[0];
	std::cout &lt;&lt; p &lt;&lt; std::endl;
	delete[] p;
}
</code></pre>
<p>Gibt bei mir 24-mal die gleiche Adresse aus. Es scheinen allerdings Memory-Leaks zu entstehen, wenn man das Array nicht freigibt.</p>
<p>Gruß<br />
Don06</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1378859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1378859</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Fri, 05 Oct 2007 20:05:09 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Strukturen dynamisch on Sat, 06 Oct 2007 03:48:58 GMT]]></title><description><![CDATA[<p>Danke bei mir entstanden auch Speicherleaks.Bin jetzt aber ein wenig schlauer.<br />
<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="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1378968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1378968</guid><dc:creator><![CDATA[muli]]></dc:creator><pubDate>Sat, 06 Oct 2007 03:48:58 GMT</pubDate></item></channel></rss>