<?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[Dangling Pointers]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Frage bezüglich Dangling Pointers, also Pointer die auf eine freigegebene Speicherstelle zeigen.</p>
<p>Gibt es eine Möglichkeit herauszufinden, ob eine Speicherstelle freigegeben ist, oder nicht?</p>
<p>Sowas wie</p>
<pre><code class="language-cpp">if(speicherstelle(mein_pointer))
     meinObjekt* ptr = (meinObjekt*)mein_pointer;
else
     printf(&quot;objekt gibts nicht&quot;);
</code></pre>
<p>Ich danke euch</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/222353/dangling-pointers</link><generator>RSS for Node</generator><lastBuildDate>Sun, 04 Oct 2026 22:43:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/222353.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 11 Sep 2008 10:31:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dangling Pointers on Thu, 11 Sep 2008 10:31:05 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Frage bezüglich Dangling Pointers, also Pointer die auf eine freigegebene Speicherstelle zeigen.</p>
<p>Gibt es eine Möglichkeit herauszufinden, ob eine Speicherstelle freigegeben ist, oder nicht?</p>
<p>Sowas wie</p>
<pre><code class="language-cpp">if(speicherstelle(mein_pointer))
     meinObjekt* ptr = (meinObjekt*)mein_pointer;
else
     printf(&quot;objekt gibts nicht&quot;);
</code></pre>
<p>Ich danke euch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580192</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580192</guid><dc:creator><![CDATA[DonnerCobra]]></dc:creator><pubDate>Thu, 11 Sep 2008 10:31:05 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Thu, 11 Sep 2008 10:37:41 GMT]]></title><description><![CDATA[<p>Nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580196</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 11 Sep 2008 10:37:41 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Thu, 11 Sep 2008 10:55:30 GMT]]></title><description><![CDATA[<p>Nicht ohne das du selbst das verwaltest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580213</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 11 Sep 2008 10:55:30 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Thu, 11 Sep 2008 11:09:58 GMT]]></title><description><![CDATA[<p>Hi!</p>
<blockquote>
<p>Nicht ohne das du selbst das verwaltest.</p>
</blockquote>
<p>Wie genau meinst du das? Wie könnte ich das denn selbst verwalten?</p>
<p>Zusatz: Irgendwo wird doch festgelegt ob das Objekt im Speicher freigegeben ist, oder nicht, oder vertu ich mich da?</p>
<p>Bye</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580223</guid><dc:creator><![CDATA[DonnerCobra]]></dc:creator><pubDate>Thu, 11 Sep 2008 11:09:58 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Thu, 11 Sep 2008 11:15:03 GMT]]></title><description><![CDATA[<p>DonnerCobra schrieb:</p>
<blockquote>
<p>Hi!</p>
<blockquote>
<p>Nicht ohne das du selbst das verwaltest.</p>
</blockquote>
<p>Wie genau meinst du das? Wie könnte ich das denn selbst verwalten?</p>
<p>Zusatz: Irgendwo wird doch festgelegt ob das Objekt im Speicher freigegeben ist, oder nicht, oder vertu ich mich da?</p>
<p>Bye</p>
</blockquote>
<p>Komplexe Betriebssysteme wissen zwar mehr oder weniger gut, welche Ressourcen von welchem Programm belegt werden, aber Standard-C++ Programme können ja für alle möglichen Plattformen übersetzt werden.<br />
Da es auch einen Haufen Plattformen gibt, wo der Speicher nicht von irgendwelchen Betriebssystemen überwacht wird, und Standardkonforme-C++-Programme auch dort laufen sollen, gibt es auch keine standardkonforme Möglichkeit für ein Programm sowas zu ermitteln. Du musste selbst verwalten, was von Dir belegt wurde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580226</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Thu, 11 Sep 2008 11:15:03 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Thu, 11 Sep 2008 11:16:21 GMT]]></title><description><![CDATA[<blockquote>
<p>Wie genau meinst du das? Wie könnte ich das denn selbst verwalten?</p>
</blockquote>
<p>Könntest eine Klasse schreiben der du mitteilst wenn du ein Objekt erstellst und löschst. Dann kann die prüfen ob der Pointer noch gültig ist.<br />
Oder nimmst auto_ptr oder sonstige smart pointer.</p>
<blockquote>
<p>Zusatz: Irgendwo wird doch festgelegt ob das Objekt im Speicher freigegeben ist, oder nicht, oder vertu ich mich da?</p>
</blockquote>
<p>Im Grunde passiert folgendes:</p>
<p>a) du willst ein neues Objekt erstellen<br />
b) der Speicher reicht nicht<br />
c) das OS gibt deinem Programm mehr Speicher<br />
d) dein Programm sucht eine passende Stelle raus, notiert sich dies irgendwie<br />
e) und gibt dir einen Pointer zurück (ruft dann Konstruktor auf etc.)<br />
f) du löschst es<br />
g) Destruktor rödelt durch<br />
h) Programm markiert als frei<br />
i) OS läßt dem Programm den Speicher erst einmal</p>
<p>Eine Möglichkeit h und d direkt abzufragen, wäre mir neu.<br />
Solange der Speicher zwar von deinem Programm freigegeben ist, sich das OS dies aber nicht zurückholt, kannst du theoretisch (was aber ungefähr mit Völkermord gleichzusetzen ist, wenn du Programmierer danach fragst) weiter auf dem Speicher arbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580228</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 11 Sep 2008 11:16:21 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Thu, 11 Sep 2008 11:23:50 GMT]]></title><description><![CDATA[<p>Foo* p = new Foo();<br />
delete p;<br />
is_dangling_ptr(p); //ja<br />
Bar* p2=new Bar();<br />
is_dangling_ptr(p); //nein, da Bar an der Stelle von Foo steht, aber eigentlich doch wild, da wir ja ein Foo Objekt dort erwarten würden, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580233</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Thu, 11 Sep 2008 11:23:50 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Thu, 11 Sep 2008 11:52:24 GMT]]></title><description><![CDATA[<p>Ging ja nur darum ob die Speicherstelle freigegeben ist. <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 />
Aber recht hast du. <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/1580251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580251</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 11 Sep 2008 11:52:24 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Thu, 11 Sep 2008 12:02:56 GMT]]></title><description><![CDATA[<p>DonnerCobra schrieb:</p>
<blockquote>
<p>Gibt es eine Möglichkeit herauszufinden, ob eine Speicherstelle freigegeben ist, oder nicht?</p>
</blockquote>
<p>Einige Memory-Manager, z.B. <a href="http://sourceforge.net/projects/fastmm/" rel="nofollow">FastMM</a>, sind im Debug-Modus in der Lage, so etwas festzustellen; auch Debugging-Tools wie CodeGuard können wilde Zeiger erkennen.</p>
<p>Unter Windows gibt es außerdem die <a href="http://blogs.msdn.com/oldnewthing/archive/2006/09/27/773741.aspx" rel="nofollow">IsBadxxxPtr</a>-Funktionen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580262</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Thu, 11 Sep 2008 12:02:56 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Thu, 11 Sep 2008 13:20:49 GMT]]></title><description><![CDATA[<p>audacia: Auch in der Release version letztlich?</p>
<p>Danke <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1580296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580296</guid><dc:creator><![CDATA[DonnerCobra]]></dc:creator><pubDate>Thu, 11 Sep 2008 13:20:49 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Thu, 11 Sep 2008 13:26:10 GMT]]></title><description><![CDATA[<p>DonnerCobra schrieb:</p>
<blockquote>
<p>audacia: Auch in der Release version letztlich?</p>
</blockquote>
<p>ja, aber lies meinen beitrag vorher</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580300</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Thu, 11 Sep 2008 13:26:10 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Thu, 11 Sep 2008 14:56:00 GMT]]></title><description><![CDATA[<p>DonnerCobra schrieb:</p>
<blockquote>
<p>Gibt es eine Möglichkeit herauszufinden, ob eine Speicherstelle freigegeben ist, oder nicht?</p>
</blockquote>
<p>Wie schon vorher beantwortet, nein.</p>
<p>Die erwähnten Smartpointer können hier eine Option sein, ich beziehe mich hierbei auf die Kombination shared_ptr / weak_ptr (Boost und std::tr1).</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580362</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 11 Sep 2008 14:56:00 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Thu, 11 Sep 2008 19:29:23 GMT]]></title><description><![CDATA[<p>DonnerCobra schrieb:</p>
<blockquote>
<p>audacia: Auch in der Release version letztlich?</p>
</blockquote>
<p>Du hast die Seite, die ich verlinkt habe, gelesen?</p>
<p>Wie du der Diskussion eigentlich entnehmen hättest können, ist so etwas zwar zu Debugging-Zwecken machbar, jedoch im praktischen Einsatz schlichtweg ein Designfehler.</p>
<p>Raymond Chen schrieb:</p>
<blockquote>
<p>&quot;But what should I do, then, if somebody passes me a bad pointer?&quot;</p>
<p>You should crash.</p>
<p>No, really.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1580478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580478</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Thu, 11 Sep 2008 19:29:23 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Fri, 12 Sep 2008 09:02:31 GMT]]></title><description><![CDATA[<p>Wobei man den &quot;PointerManager&quot; auch über Templates lösen könnte, so daß jede Klasse seinen eigenen hat, so daß sichergestellt werden kann das ein Pointer auch wirklich auf ein Objekt einer bestimmten Klasse zeigt. Bei Vererbung etc. natürlich unpraktisch und überhaupt nicht die feine Art, funzt aber.</p>
<p>Wobei &quot;funzt aber&quot; einen eigentlich aufhorchen lassen sollte. <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/1580724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580724</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Fri, 12 Sep 2008 09:02:31 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Fri, 12 Sep 2008 09:53:57 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>Wobei man den &quot;PointerManager&quot; auch über Templates lösen könnte, so daß jede Klasse seinen eigenen hat, so daß sichergestellt werden kann das ein Pointer auch wirklich auf ein Objekt einer bestimmten Klasse zeigt. Bei Vererbung etc. natürlich unpraktisch und überhaupt nicht die feine Art, funzt aber.</p>
<p>Wobei &quot;funzt aber&quot; einen eigentlich aufhorchen lassen sollte. <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>
</blockquote>
<p>wie willst du das mit vererbten klassen lösen?<br />
und selbst wenn: geschwister sind nicht kompatibel haben aber die selbe base. sehr kompliziert das ganze.</p>
<p>weiters hat man das problem mit zerstörten objekten die noch nicht den speicher zurück gegeben haben.</p>
<p>und bei stack objekten geht es auch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580772</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 12 Sep 2008 09:53:57 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Fri, 12 Sep 2008 10:05:57 GMT]]></title><description><![CDATA[<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>wie willst du das mit vererbten klassen lösen?<br />
und selbst wenn: geschwister sind nicht kompatibel haben aber die selbe base. sehr kompliziert das ganze.</p>
</blockquote>
<p>Vererbung ist dabei ein Problem, ja.</p>
<blockquote>
<p>weiters hat man das problem mit zerstörten objekten die noch nicht den speicher zurück gegeben haben.</p>
</blockquote>
<p>Das wäre in dem Falle ja egal. Wenn man in dem Moment wo man ein Objekt per delete löscht ihn aus dem Speichermanager entfernt, gilt der Zeiger als ungültig. Es geht ja nicht darum, ob der Speicher wirklich schon freigegeben wurde.</p>
<blockquote>
<p>und bei stack objekten geht es auch nicht.</p>
</blockquote>
<p>Pointer auf Stack-Objekte? Die Pointer sollten eigentlich den gleichen Scope haben wie die Objekte selbst, sonst wird es eh sehr schnell sehr ungemütlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580780</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Fri, 12 Sep 2008 10:05:57 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Fri, 12 Sep 2008 10:26:15 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<blockquote>
<p>weiters hat man das problem mit zerstörten objekten die noch nicht den speicher zurück gegeben haben.</p>
</blockquote>
<p>Das wäre in dem Falle ja egal. Wenn man in dem Moment wo man ein Objekt per delete löscht ihn aus dem Speichermanager entfernt, gilt der Zeiger als ungültig. Es geht ja nicht darum, ob der Speicher wirklich schon freigegeben wurde.</p>
</blockquote>
<p>Ich kann objekte zerstören und erstellen wie ich lustig bin.</p>
<p>ohne dass der speicher manager etwas mitbekommt. schau dir std::vector einmal an. der holt sich mehr speicher als er braucht und erstellt und zerstört darin die objekte wie er lustig ist.</p>
<p>und er holt den speicher über ::operator new und geht somit komplett an jedem system dass du dir ausdenken kannst vorbei.</p>
<blockquote>
<blockquote>
<p>und bei stack objekten geht es auch nicht.</p>
</blockquote>
<p>Pointer auf Stack-Objekte? Die Pointer sollten eigentlich den gleichen Scope haben wie die Objekte selbst, sonst wird es eh sehr schnell sehr ungemütlich.</p>
</blockquote>
<p>es sollte auch keine dangling pointers geben, sonst wird es sehr schnell sehr ungemütlich. der punkt aber ist: so ein system wie du es dir vorstellst ist nicht mal halbwegs vernünftig implementierbar. man kann nur ganz wenige spezialfälle abdecken - aber es scheitert bereits an einem einfachen std::vector.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580796</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 12 Sep 2008 10:26:15 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Fri, 12 Sep 2008 11:02:57 GMT]]></title><description><![CDATA[<blockquote>
<p>es sollte auch keine dangling pointers geben, sonst wird es sehr schnell sehr ungemütlich. der punkt aber ist: so ein system wie du es dir vorstellst ist nicht mal halbwegs vernünftig implementierbar. man kann nur ganz wenige spezialfälle abdecken - aber es scheitert bereits an einem einfachen std::vector.</p>
</blockquote>
<p>Ging ja auch nicht um die Eierlegende Wollmilchsau, sondern darum seinen eigenen Kram zu verwalten. Ob das nun funktioniert in dem Anwendungsfall oder überhaupt Sinn macht, kann wohl kaum jemand sagen, da wir ja nicht einmal wissen was er vorhat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580819</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Fri, 12 Sep 2008 11:02:57 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Fri, 12 Sep 2008 12:20:25 GMT]]></title><description><![CDATA[<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>und er holt den speicher über ::operator new und geht somit komplett an jedem system dass du dir ausdenken kannst vorbei.</p>
</blockquote>
<p>Was ist mit der Überladung des <code>new</code> -Operators?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580891</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 12 Sep 2008 12:20:25 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Fri, 12 Sep 2008 12:30:25 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>und er holt den speicher über ::operator new und geht somit komplett an jedem system dass du dir ausdenken kannst vorbei.</p>
</blockquote>
<p>Was ist mit der Überladung des <code>new</code> -Operators?</p>
</blockquote>
<p>::operator new bekommt nur die anforderung: allokiere mir X Bytes.<br />
welche sinnvollen daten willst du daraus ableiten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580899</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 12 Sep 2008 12:30:25 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Fri, 12 Sep 2008 12:40:46 GMT]]></title><description><![CDATA[<p>Man könnte doch eine Klasse schreiben, die jedesmal bei <code>new</code> -Aufrufen informiert wird und sich dann den belegten Speicherbereich merkt (von mir aus in einem dynamischen Array mit <code>malloc()</code> ). Bei <code>delete</code> wird dann geprüft, ob der Bereich gültig ist.</p>
<p>Ich hab sogar schon selber mal was ähnliches geschrieben, natürlich noch nicht ausgereift...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580906</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 12 Sep 2008 12:40:46 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Fri, 12 Sep 2008 12:41:08 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Man könnte doch eine Klasse schreiben, die jedesmal bei <code>new</code> -Aufrufen informiert wird und sich dann den belegten Speicherbereich merkt (von mir aus in einem dynamischen Array mit <code>malloc()</code> ). Bei <code>delete</code> wird dann geprüft, ob der Bereich gültig ist.</p>
</blockquote>
<p>Und welche Information hast du dann?<br />
Dann kann man gleich IsBad?Ptr nehmen. Die information bringt dir nämlich nichts. Du kannst nur sagen ob der Speicher allokiert ist oder nicht.</p>
<p>Du weisst nicht ob dort ein Objekt lebt und welchen Typ es hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580908</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 12 Sep 2008 12:41:08 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Fri, 12 Sep 2008 12:57:12 GMT]]></title><description><![CDATA[<p>Ah sorry, dann hab ich die Fragestellung falsch verstanden. Ich bezog mich nämlich auf:</p>
<p>DonnerCobra schrieb:</p>
<blockquote>
<p>Gibt es eine Möglichkeit herauszufinden, ob eine Speicherstelle freigegeben ist, oder nicht?</p>
</blockquote>
<p>Aber das Beispiel von dir vorher könnte man doch trotzdem (einfach sehr umständlich) behandeln, indem man Speicherbereiche noch nach der Freigabe überwacht...?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580933</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 12 Sep 2008 12:57:12 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Fri, 12 Sep 2008 13:12:58 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Ah sorry, dann hab ich die Fragestellung falsch verstanden. Ich bezog mich nämlich auf:</p>
<p>DonnerCobra schrieb:</p>
<blockquote>
<p>Gibt es eine Möglichkeit herauszufinden, ob eine Speicherstelle freigegeben ist, oder nicht?</p>
</blockquote>
<p>Aber das Beispiel von dir vorher könnte man doch trotzdem (einfach sehr umständlich) behandeln, indem man Speicherbereiche noch nach der Freigabe überwacht...?</p>
</blockquote>
<p>inwiefern überwachen?</p>
<p>der OP spricht zwar von freigegeben aber in seinem beispiel und in seinem text spricht er von der erkennung von dangling pointers und das ist eben nicht möglich. für alles andere gibt es IsBad?Ptr</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1580942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1580942</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 12 Sep 2008 13:12:58 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Sat, 13 Sep 2008 16:31:12 GMT]]></title><description><![CDATA[<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>für alles andere gibt es IsBad?Ptr</p>
</blockquote>
<p>Bloß nicht.<br />
Hat eigentlich irgendjemand die Seite gelesen, die ich da verlinkt hatte? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1581419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581419</guid><dc:creator><![CDATA[audacia|off]]></dc:creator><pubDate>Sat, 13 Sep 2008 16:31:12 GMT</pubDate></item><item><title><![CDATA[Reply to Dangling Pointers on Sun, 14 Sep 2008 17:06:44 GMT]]></title><description><![CDATA[<p>audacia|off schrieb:</p>
<blockquote>
<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>für alles andere gibt es IsBad?Ptr</p>
</blockquote>
<p>Bloß nicht.<br />
Hat eigentlich irgendjemand die Seite gelesen, die ich da verlinkt hatte? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Du hast bloss meine Posts nicht gelesen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1581830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581830</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Sun, 14 Sep 2008 17:06:44 GMT</pubDate></item></channel></rss>