<?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[Objekt wird gelöscht, während eine Methode des Objekts ausgeführt wird]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mal wieder eine (diesesmal ziemlich skurile) Frage:</p>
<p>Was passiert, wenn eine Methode für ein Objekt ausgeführt wird, und das Objekt, dessen Methode das ist währenddessen gelöscht wird? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Beispielcode:</p>
<pre><code class="language-cpp">class Foo;

void Bar(Foo *zeiger)
{
    delete zeiger;
    return;
}

class Foo
{
    public:
    void Test(void)
    {
        //Mach irgendwas
        Bar(this);
        //Mach irgendwas
        return;
    }
};

int main(void)
{
    Foo *zeiger = new Foo;
    zeiger-&gt;Test();
    return (0);
}
</code></pre>
<p>EDIT: Wenn man in der Methode nach dem Exitus des Objekts noch ein Member des Objekts benutzen WÜRDE würde es ja auf keinen Fall funktioneren. Meine Frage bezieht sich also darauf, wenn man das nicht tut.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/142956/objekt-wird-gelöscht-während-eine-methode-des-objekts-ausgeführt-wird</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 01:09:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/142956.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 04 Apr 2006 15:50:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekt wird gelöscht, während eine Methode des Objekts ausgeführt wird on Tue, 04 Apr 2006 15:57:14 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mal wieder eine (diesesmal ziemlich skurile) Frage:</p>
<p>Was passiert, wenn eine Methode für ein Objekt ausgeführt wird, und das Objekt, dessen Methode das ist währenddessen gelöscht wird? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Beispielcode:</p>
<pre><code class="language-cpp">class Foo;

void Bar(Foo *zeiger)
{
    delete zeiger;
    return;
}

class Foo
{
    public:
    void Test(void)
    {
        //Mach irgendwas
        Bar(this);
        //Mach irgendwas
        return;
    }
};

int main(void)
{
    Foo *zeiger = new Foo;
    zeiger-&gt;Test();
    return (0);
}
</code></pre>
<p>EDIT: Wenn man in der Methode nach dem Exitus des Objekts noch ein Member des Objekts benutzen WÜRDE würde es ja auf keinen Fall funktioneren. Meine Frage bezieht sich also darauf, wenn man das nicht tut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1030376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1030376</guid><dc:creator><![CDATA[Phoemuex]]></dc:creator><pubDate>Tue, 04 Apr 2006 15:57:14 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt wird gelöscht, während eine Methode des Objekts ausgeführt wird on Tue, 04 Apr 2006 16:25:43 GMT]]></title><description><![CDATA[<p>Die Methoden liegen außerhalb des Objektes, also wird es wohl funktionieren (natürlich nur für per new allokierte Objekte). Zumindest mein Compiler (mingw-gcc) spuckt mir aber eine entsprechende Warnung aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1030404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1030404</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Tue, 04 Apr 2006 16:25:43 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt wird gelöscht, während eine Methode des Objekts ausgeführt wird on Tue, 04 Apr 2006 16:28:38 GMT]]></title><description><![CDATA[<p>Nicht ganz die gleiche Situation, bringt dich aber vielleicht trotzdem weiter: <a href="http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.15" rel="nofollow">www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.15</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1030408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1030408</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Tue, 04 Apr 2006 16:28:38 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt wird gelöscht, während eine Methode des Objekts ausgeführt wird on Wed, 05 Apr 2006 06:26:36 GMT]]></title><description><![CDATA[<p>Diese Situation hatte ich mal bei Popup-Fenster. Die löschen sich bei der Implementation, die ich nutzen muss selbst..<br />
Das fieste an solchen Kontruktionen ist, dass man höllisch aufpassen muss was nach dem Löschen des Objekts passiert.<br />
Der Rücksprung in eine Funktion des Objekts funktioniert zum Bleistift nicht mehr, wenn der freigegebene Speicher durch was anderes verwendet wird (wirklich nett zu debuggen).<br />
Generell stellt sich außerdem die Frage was mit den Zeigern auf das Objekt passiert.... es macht keinen Sinn auf solche Objekte zugreifen zu wollen, weil man nicht überprüfen kann ob die Objekte überhaupt noch existieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1030714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1030714</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Wed, 05 Apr 2006 06:26:36 GMT</pubDate></item></channel></rss>