<?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[Darf ein Objekt sich im Konstruktor selbst destruieren?]]></title><description><![CDATA[<p>Ist folgendes Konstrukt legal:</p>
<pre><code class="language-cpp">class MyClass
{
private:
  MyClass (void)
  {
    // ...
    delete this;
  }

public:
  static MyClass* create (void)
  { return new MyClass; }
};
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/200094/darf-ein-objekt-sich-im-konstruktor-selbst-destruieren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 04 Oct 2026 10:04:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200094.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 Dec 2007 17:36:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Darf ein Objekt sich im Konstruktor selbst destruieren? on Mon, 10 Dec 2007 17:36:33 GMT]]></title><description><![CDATA[<p>Ist folgendes Konstrukt legal:</p>
<pre><code class="language-cpp">class MyClass
{
private:
  MyClass (void)
  {
    // ...
    delete this;
  }

public:
  static MyClass* create (void)
  { return new MyClass; }
};
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418280</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418280</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Mon, 10 Dec 2007 17:36:33 GMT</pubDate></item><item><title><![CDATA[Reply to Darf ein Objekt sich im Konstruktor selbst destruieren? on Mon, 10 Dec 2007 18:23:13 GMT]]></title><description><![CDATA[<p>wirf im konstruktor eine exception und du bist auf der sichereren seite.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418313</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Mon, 10 Dec 2007 18:23:13 GMT</pubDate></item><item><title><![CDATA[Reply to Darf ein Objekt sich im Konstruktor selbst destruieren? on Mon, 10 Dec 2007 19:14:32 GMT]]></title><description><![CDATA[<p>Werden dann die Member-Objekte destruiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418354</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Mon, 10 Dec 2007 19:14:32 GMT</pubDate></item><item><title><![CDATA[Reply to Darf ein Objekt sich im Konstruktor selbst destruieren? on Mon, 10 Dec 2007 20:40:34 GMT]]></title><description><![CDATA[<p>nein, aber durch die Exception kannst du im Exception-Handler delete aufrufen,<br />
wodurch du dem Konflikt aus dem Weg gehst, im Konstruktor delete zu benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418424</guid><dc:creator><![CDATA[DrakoXP]]></dc:creator><pubDate>Mon, 10 Dec 2007 20:40:34 GMT</pubDate></item><item><title><![CDATA[Reply to Darf ein Objekt sich im Konstruktor selbst destruieren? on Mon, 10 Dec 2007 20:49:29 GMT]]></title><description><![CDATA[<p>DrakoXP schrieb:</p>
<blockquote>
<p>nein,</p>
</blockquote>
<p>doch, nur bringt es dir nichts, wenn deine member zeiger sind und du ihren speicher dynamisch anforderst. stichwort: smart pointer.</p>
<p>lesetipp: <a href="http://www.gotw.ca/gotw/066.htm" rel="nofollow">http://www.gotw.ca/gotw/066.htm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418430</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Mon, 10 Dec 2007 20:49:29 GMT</pubDate></item><item><title><![CDATA[Reply to Darf ein Objekt sich im Konstruktor selbst destruieren? on Mon, 10 Dec 2007 23:14:33 GMT]]></title><description><![CDATA[<p>queer_boy schrieb:</p>
<blockquote>
<p>DrakoXP schrieb:</p>
<blockquote>
<p>nein,</p>
</blockquote>
<p>doch</p>
</blockquote>
<p>Gut; das wollte ich wissen. Danke schön.</p>
<p>Smart Pointer sind mir bekannt <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/1418473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418473</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Mon, 10 Dec 2007 23:14:33 GMT</pubDate></item><item><title><![CDATA[Reply to Darf ein Objekt sich im Konstruktor selbst destruieren? on Mon, 10 Dec 2007 23:43:25 GMT]]></title><description><![CDATA[<p>DrakoXP schrieb:</p>
<blockquote>
<p>nein, aber durch die Exception kannst du im Exception-Handler delete aufrufen,<br />
wodurch du dem Konflikt aus dem Weg gehst, im Konstruktor delete zu benutzen.</p>
</blockquote>
<p>Muss denn delete dann noch explizit aufgerufen werden?<br />
Wird das Objekt nicht schon gelöscht, wenn die Exception den Kontruktor verläßt?</p>
<p>Gruß,<br />
Mark</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418480</guid><dc:creator><![CDATA[Neugieriger]]></dc:creator><pubDate>Mon, 10 Dec 2007 23:43:25 GMT</pubDate></item><item><title><![CDATA[Reply to Darf ein Objekt sich im Konstruktor selbst destruieren? on Mon, 10 Dec 2007 23:50:36 GMT]]></title><description><![CDATA[<p>Sobald du die exception wirfst (und nicht gleich wieder fängst) wird die Ausführung des Konstruktors abgebrochen und alles was in der Initialisierung (ob mit oder ohne Liste) in umgekehrter Reihenfolge zerstört. Wenn du natürlich normale Pointer hast werden die schlichtweg gelöscht und wenn denen ein Objekt auf dem Heap gehört hat hast ein Speicherleck (deshalb der Hinweis mit Smartpointern weiter oben)</p>
<p>Steht aber auch eigentlich alles in dem GotW das oben verlinkt wurde - die lohnen sich auf jeden Fall immer zu lesen <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/1418482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418482</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 10 Dec 2007 23:50:36 GMT</pubDate></item></channel></rss>