<?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[Pointer Verwurf feststellen ...]]></title><description><![CDATA[<p>Hi,</p>
<p>mal wieder eine Zeigerfrage ....<br />
ich habe einen Integer a<br />
dann mache ich einen Pointer auf a<br />
und weil ich jetzt ganz lustig bin, mache ich einen Pointer auf den Pointer.</p>
<p>Jetzt delete ich pointer auf a (nicht den pointer auf den pointer).</p>
<p>jetzt natürlich landet mein pointer auf den pointer im Nirvana.</p>
<p>Das Ganze geht auch so:</p>
<p>Definition globaler Pointer b.</p>
<p>Unterfunktion mit Integer a und die Adresszuweisung des globalen pointers b auf a.<br />
Dann ist die Unterfunktion zuende und mein Pointer hängt in der Luft ...</p>
<p>Wie frage ich jetzt ab, ob ein Pointer noch gültig ist ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/85853/pointer-verwurf-feststellen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 04:16:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/85853.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 13 Sep 2004 14:36:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pointer Verwurf feststellen ... on Mon, 13 Sep 2004 14:44:04 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>mal wieder eine Zeigerfrage ....<br />
ich habe einen Integer a<br />
dann mache ich einen Pointer auf a<br />
und weil ich jetzt ganz lustig bin, mache ich einen Pointer auf den Pointer.</p>
<p>Jetzt delete ich pointer auf a (nicht den pointer auf den pointer).</p>
<p>jetzt natürlich landet mein pointer auf den pointer im Nirvana.</p>
<p>Das Ganze geht auch so:</p>
<p>Definition globaler Pointer b.</p>
<p>Unterfunktion mit Integer a und die Adresszuweisung des globalen pointers b auf a.<br />
Dann ist die Unterfunktion zuende und mein Pointer hängt in der Luft ...</p>
<p>Wie frage ich jetzt ab, ob ein Pointer noch gültig ist ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/606142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/606142</guid><dc:creator><![CDATA[thenoname]]></dc:creator><pubDate>Mon, 13 Sep 2004 14:44:04 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer Verwurf feststellen ... on Mon, 13 Sep 2004 14:38:00 GMT]]></title><description><![CDATA[<p>Meiner meinung nach garnicht! Er ist ja in dem Sinne net ungültig, zeigt ja immer auf ein Stück speicher...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/606144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/606144</guid><dc:creator><![CDATA[ness]]></dc:creator><pubDate>Mon, 13 Sep 2004 14:38:00 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer Verwurf feststellen ... on Mon, 13 Sep 2004 14:46:23 GMT]]></title><description><![CDATA[<p>aber er greift doch auf eigentlich illegalen Speicher zu ??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/606151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/606151</guid><dc:creator><![CDATA[thenoname]]></dc:creator><pubDate>Mon, 13 Sep 2004 14:46:23 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer Verwurf feststellen ... on Mon, 13 Sep 2004 14:49:14 GMT]]></title><description><![CDATA[<p>OK, bin kein experte! Aber sieh dich doch mal nach smart pointern um! Vielleicht helfen die weiter...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/606157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/606157</guid><dc:creator><![CDATA[ness]]></dc:creator><pubDate>Mon, 13 Sep 2004 14:49:14 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer Verwurf feststellen ... on Mon, 13 Sep 2004 14:50:30 GMT]]></title><description><![CDATA[<p>ness schrieb:</p>
<blockquote>
<p>OK, bin kein experte! Aber sieh dich doch mal nach smart pointern um! Vielleicht helfen die weiter...</p>
</blockquote>
<p>Die lösen die Ursache aber leider nicht das resultierende Problem.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/606158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/606158</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Mon, 13 Sep 2004 14:50:30 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer Verwurf feststellen ... on Mon, 13 Sep 2004 14:51:30 GMT]]></title><description><![CDATA[<p>Wo ist der Bezug zur WinAPI.</p>
<p>Weg damit.... <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="➡"
    /> <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="➡"
    /> <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="➡"
    /> <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="➡"
    /> <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="➡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/606159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/606159</guid><dc:creator><![CDATA[*weg schieb*]]></dc:creator><pubDate>Mon, 13 Sep 2004 14:51:30 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer Verwurf feststellen ... on Mon, 13 Sep 2004 15:00:53 GMT]]></title><description><![CDATA[<p>Ja, ich kann dir jetzt genau erklären warum das so ist:</p>
<p>Ich übergebe einen Pointer auf ein Interface über eine DLL an ein<br />
zweites Programm. Leider kann ich das zweite Programm schliessen<br />
und mein Pointer auf das Interface wird beim Aufruf ein kleines<br />
Problem.</p>
<p>Soviel zur API ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/606164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/606164</guid><dc:creator><![CDATA[thenoname]]></dc:creator><pubDate>Mon, 13 Sep 2004 15:00:53 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer Verwurf feststellen ... on Mon, 13 Sep 2004 15:49:46 GMT]]></title><description><![CDATA[<p>Ja, die WinAPI bietet Funktionen, die dir zurückliefern, ob ein bestimmter Pointer gültig ist.</p>
<p>Doch zuerst ein paar Überlegungen, warum du diese Funktion besser nicht verwenden solltest:<br />
a) &quot;Gültig&quot; im Sinne von &quot;vom Prozess ohne access violation lesbar/schreibbar&quot;. Nachteil: Ein wilder Pointer, der durch die Freigabe von Speicher entstanden ist, ist in diesem Sinne häufig noch gültig.<br />
b) Design: Besser als unten genannte Funktion ist ein Flag, das die Gültigkeit des Pointers angibt. Du wirst eh nicht um Synchronisation herumkommen, denn:<br />
c) Du hast immer noch ein Problem, das du nicht beachtet (erwähnt) hast: Was soll dein Programm machen, wenn Programm B geschlossen wird, _während_ Programm A mitten in einem Zugriff auf den Pointer ist?</p>
<p>Die Funktionen heißen IsBadReadPtr/IsBadWritePtr. Bedenke aber bitte die genannten Punkte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/606211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/606211</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Mon, 13 Sep 2004 15:49:46 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer Verwurf feststellen ... on Mon, 13 Sep 2004 16:37:28 GMT]]></title><description><![CDATA[<p>Ja, du hattest recht, die zwei Befehle bleiben leider auf gültig.</p>
<p>andere Frage, gleiches Thema.</p>
<p>das Interface, auf das der Pointer zeigt hat eine Funktion namens<br />
queryInterface mit Rückgabe _noInterface.<br />
Wie kann das gehen ?</p>
<p>Ich stelle mir das so vor:<br />
Der Pointer hat einen Interfacenamen vorweg und ist somit mit<br />
dem Interfacecode verknüpft. Will sagen, der Code vom Interface bleibt<br />
solange erhalten, bis der Pointer deletet wird.<br />
Der Pointer wiederum zeigt nur auf den Datenbereich des Interfaces ?!?<br />
Dadurch kann nach Verwurf des Interfaces trotzdem der Pointer mit<br />
queryInterface aufgerufen werden und eine Rückgabe gegeben werden, das das<br />
Interface nicht mehr existiert, weil es released wurde.</p>
<p>Übrigens: Wie ist das mit dem &quot;loslassen&quot; ?<br />
gibt es in der API einen Standartdestruktor, der die Release Funktion<br />
eines Interfaces beim Verlassen des Programmes automatisch ausführt ?<br />
Oder wird alles einfach liegengelassen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/606243</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/606243</guid><dc:creator><![CDATA[thenoname]]></dc:creator><pubDate>Mon, 13 Sep 2004 16:37:28 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer Verwurf feststellen ... on Mon, 13 Sep 2004 18:35:50 GMT]]></title><description><![CDATA[<p>Wenn du dir mit new Speicher allokierst, dann kannst du den Pointer ohne Probleme nach Verlassen der Funktion weiterverwenden (bis du den Speicher mit delete wieder freigibst).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/606336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/606336</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Mon, 13 Sep 2004 18:35:50 GMT</pubDate></item></channel></rss>