<?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[delete[] und arraylänge]]></title><description><![CDATA[<p>hi, woher weiß delete[] wieviel speicher es freigeben muss?<br />
wird das irgendwie intern gespeichert?<br />
wenn ja, dann warum gibt es nicht so eine funktion um die länge eines bestimmten arrays zu bekommen, das per new[] erstellt wurde?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/175879/delete-und-arraylänge</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 10:14:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/175879.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 Mar 2007 23:27:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to delete[] und arraylänge on Wed, 14 Mar 2007 23:27:42 GMT]]></title><description><![CDATA[<p>hi, woher weiß delete[] wieviel speicher es freigeben muss?<br />
wird das irgendwie intern gespeichert?<br />
wenn ja, dann warum gibt es nicht so eine funktion um die länge eines bestimmten arrays zu bekommen, das per new[] erstellt wurde?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1245813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1245813</guid><dc:creator><![CDATA[cppp]]></dc:creator><pubDate>Wed, 14 Mar 2007 23:27:42 GMT</pubDate></item><item><title><![CDATA[Reply to delete[] und arraylänge on Wed, 14 Mar 2007 23:29:02 GMT]]></title><description><![CDATA[<p>wenn nicht, dann woher weiß delete[] wieviel speicher freigegeben werden muss?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1245814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1245814</guid><dc:creator><![CDATA[cppp]]></dc:creator><pubDate>Wed, 14 Mar 2007 23:29:02 GMT</pubDate></item><item><title><![CDATA[Reply to delete[] und arraylänge on Thu, 15 Mar 2007 00:24:10 GMT]]></title><description><![CDATA[<p>Delete weiss es einfach. Wie bzw. woher ist AFAIK nicht spezifiziert.<br />
(Und ja, praktisch wird das irgendwo &quot;intern&quot; abgelegt. Der &quot;C&quot; Heap weiss ja z.B. auch wie gross die Blöcke sind die mittels &quot;malloc&quot; angefordert wurden, muss ja bei &quot;free&quot; auch nicht mitgegeben werden - und in C gibts AFAIK ja auch keine Funktion um diese &quot;Blockgrösse&quot; von einem normalen Programm aus abzufragen.)</p>
<blockquote>
<p>wenn ja, dann warum gibt es nicht so eine funktion um die länge eines bestimmten arrays zu bekommen, das per new[] erstellt wurde?</p>
</blockquote>
<p>Wahrscheinlich einfach weil keiner gedacht hat dass es wirklich soviel bringt um die Änderung am Standard zu rechtfertigen. Jede Änderung am Standard ist ein Haufen Aufwand für Compiler Hersteller, und es gibt immer noch keinen C++ Compiler der den Standard 100% implementiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1245823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1245823</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 15 Mar 2007 00:24:10 GMT</pubDate></item><item><title><![CDATA[Reply to delete[] und arraylänge on Thu, 15 Mar 2007 06:07:00 GMT]]></title><description><![CDATA[<p>Theoretisch braucht delete[] die Größe des buffers nichtmal zu wissen, denn delete heisst ja nur, daß der Zeiger auf den Speicher aus der Speicherverwaltung entfernt wird. Dabei wird der Inhalt (abgesehen von speziellen debug-Varianten des new/delete) des Speichers ja weder verändert noch gelöscht. Solange nicht zufällig ein anderes new den gleichen Speicehr wieder belegt bleibt der Inhalt erhalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1245842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1245842</guid><dc:creator><![CDATA[jisoa]]></dc:creator><pubDate>Thu, 15 Mar 2007 06:07:00 GMT</pubDate></item><item><title><![CDATA[Reply to delete[] und arraylänge on Thu, 15 Mar 2007 06:16:18 GMT]]></title><description><![CDATA[<p>jisoa schrieb:</p>
<blockquote>
<p>Theoretisch braucht delete[] die Größe des buffers nichtmal zu wissen, denn delete heisst ja nur, daß der Zeiger auf den Speicher aus der Speicherverwaltung entfernt wird. Dabei wird der Inhalt (abgesehen von speziellen debug-Varianten des new/delete) des Speichers ja weder verändert noch gelöscht. Solange nicht zufällig ein anderes new den gleichen Speicehr wieder belegt bleibt der Inhalt erhalten.</p>
</blockquote>
<p>Theoretisch muß delete[] die Größe ganz genau wissen, um auch für jedes Objekt den Destruktor aufrufen zu können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1245844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1245844</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 15 Mar 2007 06:16:18 GMT</pubDate></item><item><title><![CDATA[Reply to delete[] und arraylänge on Thu, 15 Mar 2007 09:45:34 GMT]]></title><description><![CDATA[<p>Naja ob &quot;delete&quot; das weiss oder nicht, darueber kann man sich streiten ^^<br />
Genaugenommen weiss es aber der speichermanager vom BS, der die allokierten bloecke verwaltet.<br />
Mann kann den speicher mit herkoemmlichen C auch haendich sich vom BS geben lassen, und sogar deren groesse erfragen ... nur ist das nicht mehr teil des standards, weil da jedes BS seinen eigenen Weg hat.</p>
<p>Ob c++ z.b. da noch ne schicht zwischenhaengt (stl allokatoren) oder die erfragte adresse wirklich die ist die das BS verwaltet (bei debug code sicher nicht der fall -&gt; speicherguards) das soll alles vom user ferngehalten werden, weil normal braucht man das eigentlich auch nicht, wichtig ist nur das es funktioniert.</p>
<p>Wenn du spezielle anforderungen hasst, also fuellstandsanzeigen vom speicher baun willst, wirst du eigene wege gehen muessen .... (BS fragen wieviel speicher es hat und wieviel es am steuck liefern kann, und den dann selber verwalten)<br />
die new new[] delete delete[] operatoren kann man dann auch ueberladen, das sie eben mit dem eigenen speichermanager arbeiten.<br />
Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1245925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1245925</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Thu, 15 Mar 2007 09:45:34 GMT</pubDate></item><item><title><![CDATA[Reply to delete[] und arraylänge on Thu, 15 Mar 2007 10:23:13 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Theoretisch muß delete[] die Größe ganz genau wissen, um auch für jedes Objekt den Destruktor aufrufen zu können.</p>
</blockquote>
<p>Das Argument ist ziemlich stark oder? Ich würde das &quot;theoretisch&quot; auch weglassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1245945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1245945</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Thu, 15 Mar 2007 10:23:13 GMT</pubDate></item><item><title><![CDATA[Reply to delete[] und arraylänge on Thu, 15 Mar 2007 13:43:41 GMT]]></title><description><![CDATA[<p>Brauch man, unter Windows, überhaupt einen delete[] operator? Windows weiß doch selber intern, dass jetzt 4 mal 4 bytes angefordert wurden. Wo ist da der unterschied zwischen delete und delete[]?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1246076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246076</guid><dc:creator><![CDATA[fgdf]]></dc:creator><pubDate>Thu, 15 Mar 2007 13:43:41 GMT</pubDate></item><item><title><![CDATA[Reply to delete[] und arraylänge on Thu, 15 Mar 2007 14:45:02 GMT]]></title><description><![CDATA[<p>bei PODS ist es theorethisch und praktisch wurscht ob du delete oder delete[] nimmst, aber sobald du klassen hasst, bewirkt nur der delete[] operator das von allen deinen elementen im array der dtor aufgerufen wird. beim einfachen delete wird deinen objecten nur der speicher unterm hintern weggezogen ....</p>
<p>deshalb ist es sehr schlechter stil bei einem new[] kein delete[] zu nehmen, egal ob PODs oder ned ....</p>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1246123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246123</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Thu, 15 Mar 2007 14:45:02 GMT</pubDate></item><item><title><![CDATA[Reply to delete[] und arraylänge on Thu, 15 Mar 2007 14:58:03 GMT]]></title><description><![CDATA[<p>delete[] nach new oder delete nach new[] ist schlicht und ergreifend nicht definiert. Ob und wo und wann und wieso es trotzdem funktioniert ist uninteressant, wer portabel programmieren will, macht es nach Standard <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/1246133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1246133</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 15 Mar 2007 14:58:03 GMT</pubDate></item></channel></rss>