<?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[new &amp;amp; delete]]></title><description><![CDATA[<p>hi,<br />
delete ist für mich ein mysterium!</p>
<pre><code class="language-cpp">class CTest
{
public:
	CTest(){cout&lt;&lt;&quot;constructor CTEST&quot;&lt;&lt;endl;};
	~CTest(){cout&lt;&lt;&quot;Destructor CTEST &quot;&lt;&lt;endl;};
	void SagHallo(){cout&lt;&lt;&quot;CTest::Hallo()&quot;&lt;&lt;endl;};
};

int main(void)
{

	CTest* pTest = new CTest;
	pTest-&gt;SagHallo();

	delete pTest;
	pTest-&gt;SagHallo();

	system(&quot;pause&quot;);
	return 1;
}
</code></pre>
<p>der befehl</p>
<pre><code>pTest-&gt;SagHallo();
</code></pre>
<p>wird trotzdem ich vorher den delete aufgerufen habe ausgefuehrt.<br />
warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/139031/new-amp-delete</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 10:37:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/139031.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 03 Mar 2006 08:14:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 08:14:27 GMT]]></title><description><![CDATA[<p>hi,<br />
delete ist für mich ein mysterium!</p>
<pre><code class="language-cpp">class CTest
{
public:
	CTest(){cout&lt;&lt;&quot;constructor CTEST&quot;&lt;&lt;endl;};
	~CTest(){cout&lt;&lt;&quot;Destructor CTEST &quot;&lt;&lt;endl;};
	void SagHallo(){cout&lt;&lt;&quot;CTest::Hallo()&quot;&lt;&lt;endl;};
};

int main(void)
{

	CTest* pTest = new CTest;
	pTest-&gt;SagHallo();

	delete pTest;
	pTest-&gt;SagHallo();

	system(&quot;pause&quot;);
	return 1;
}
</code></pre>
<p>der befehl</p>
<pre><code>pTest-&gt;SagHallo();
</code></pre>
<p>wird trotzdem ich vorher den delete aufgerufen habe ausgefuehrt.<br />
warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007318</guid><dc:creator><![CDATA[Theresa]]></dc:creator><pubDate>Fri, 03 Mar 2006 08:14:27 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 08:25:38 GMT]]></title><description><![CDATA[<p>Weil nirgends steht dass das Programm dort abstürzen muss oder sonst etwas. Das Verhalten bei Zugriff auf freigegebenen Speicher ist _undefiniert_, das heisst es kann so gut wie alles passieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007327</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 03 Mar 2006 08:25:38 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 11:33:43 GMT]]></title><description><![CDATA[<p>der pointer zeigt trotzdem noch auf denselben speicherbereich. solange da nix überschrieben wird, liegt immer noch das objekt im speicher. allerdings ist der speicherbereich zum überschreiben freigegeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007519</guid><dc:creator><![CDATA[H(W)]]></dc:creator><pubDate>Fri, 03 Mar 2006 11:33:43 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 11:36:35 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ja, bei Theresa mag das so ablaufen. Aber davon ausgehen darf man auf keinen Fall, denn das Verhalten ist, wie gesagt, undefiniert und kann auch zu Abstürzten etc... führen.</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007521</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 03 Mar 2006 11:36:35 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 14:25:27 GMT]]></title><description><![CDATA[<p>Theresa schrieb:</p>
<blockquote>
<p>der befehl</p>
<pre><code>pTest-&gt;SagHallo();
</code></pre>
<p>wird trotzdem ich vorher den delete aufgerufen habe ausgefuehrt.<br />
warum?</p>
</blockquote>
<p>Solange die Funktion CTest::SagHallo() kein this verwendet, sollte das auch keine Probleme machen, da der (nicht mehr gültige) Speicher des Objektes gar nicht verwendet wird (gilt nicht für virtuelle Methoden).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007691</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Fri, 03 Mar 2006 14:25:27 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 14:35:16 GMT]]></title><description><![CDATA[<p>und da die funktion nicht static ist wird sie wohl einen this zeiger haben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007703</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Fri, 03 Mar 2006 14:35:16 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 14:37:50 GMT]]></title><description><![CDATA[<p>Solange dieser nicht verwendet wird macht das aber nichts.<br />
Ich sagte, dass die Funktion keinen this-Zeiger verwendet. Natürlich hat sich als nicht-statische Methode einen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007706</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Fri, 03 Mar 2006 14:37:50 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 14:41:29 GMT]]></title><description><![CDATA[<p>und du meinst, der this zeiger zeigt (auch wenn er nicht &quot;benutzt&quot; wird) einfach irgendwo hin?</p>
<p>dann dürfte es ja auch keine probleme geben, wenn der freigegebene speicher überschrieben wird, und die funktion aufgerufen wird....hm...oder???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007712</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Fri, 03 Mar 2006 14:41:29 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 14:42:42 GMT]]></title><description><![CDATA[<p>Es ist irrelevant wo ein Zeiger hinzeigt, wenn er nicht benutzt wird. Der Aufruf macht somit keine Probleme.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007713</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Fri, 03 Mar 2006 14:42:42 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 14:48:46 GMT]]></title><description><![CDATA[<p>Neku schrieb:</p>
<blockquote>
<p>Es ist irrelevant wo ein Zeiger hinzeigt, wenn er nicht benutzt wird. Der Aufruf macht somit keine Probleme.</p>
</blockquote>
<p>Laut Standard ist das Verhalten hier undefiniert. Es ist ja schön für dich, wenn du einen Compiler benutzt, der hier etwas definiertes tut, aber daraus solltest du (zumindest in diesem Unterforum) keine allgemeingültigen Ratschläge ableiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007724</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 03 Mar 2006 14:48:46 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 14:51:00 GMT]]></title><description><![CDATA[<p>Neku schrieb:</p>
<blockquote>
<p>Es ist irrelevant wo ein Zeiger hinzeigt, wenn er nicht benutzt wird. Der Aufruf macht somit keine Probleme.</p>
</blockquote>
<p>ich bitte dich, wenn du einen nichtstandard compiler hast, der vielleicht auch möhren ordentlich umsetzt, hier keine falschen ratschläge zu geben!</p>
<p>das verhalten hier ist undefiniert, und man sollte anfängern nie sagen, das es egal ist wo ein zeiger hinzeigt, solang er nicht benutzt wird!</p>
<p>es ist nie egal wo ein zeiger hinzeigt!</p>
<p>[Edit] zu spät</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007726</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Fri, 03 Mar 2006 14:51:00 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 14:52:53 GMT]]></title><description><![CDATA[<p>Laut Standard ist das was dort gemacht wird IMHO undefiniert, völlig egal was ein einzelner C++-Compiler da verwendet oder nicht verwendet.</p>
<p>[Edit] Auch zu spät</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007728</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 03 Mar 2006 14:52:53 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 14:53:51 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int* p = (int*)2;
</code></pre>
<p>Wieso sollte das ein Problem darstellen, wenn 'p' nicht genutzt wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007731</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Fri, 03 Mar 2006 14:53:51 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 14:58:17 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">p-&gt;tuWas();
</code></pre>
<p>Hier wird p benutzt (_Egal_ was in tuWas passiert! Darum gehts im Übrigen auch bei Kapselung - nicht wissen zu müssen was tuWas tut.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007738</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 03 Mar 2006 14:58:17 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 15:00:10 GMT]]></title><description><![CDATA[<p>Neku schrieb:</p>
<blockquote>
<pre><code class="language-cpp">int* p = (int*)2;
</code></pre>
<p>Wieso sollte das ein Problem darstellen, wenn 'p' nicht genutzt wird?</p>
</blockquote>
<p>es ging grad um den this zeiger?<br />
andere frage, wieso baust du die nen zeiger, lässt den irgendwo hinzeigen, wenn du den NIE benutzt?</p>
<p>was willst du vermitteln?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007740</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Fri, 03 Mar 2006 15:00:10 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 15:10:04 GMT]]></title><description><![CDATA[<p>Hat jemand einen Link zum C++ Standard? Hatte ich bisher noch nie benötigt, da ich weder bei VC++ noch bei g++ Probleme hatte bisher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007751</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Fri, 03 Mar 2006 15:10:04 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 15:17:30 GMT]]></title><description><![CDATA[<p>Neku schrieb:</p>
<blockquote>
<p>Hat jemand einen Link zum C++ Standard?</p>
</blockquote>
<p>Du kannst den C++ Standard für 30$ käuflich erwerben:<br />
<a href="http://webstore.ansi.org/ansidocstore/product.asp?sku=INCITS%2FISO%2FIEC+14882-2003" rel="nofollow">http://webstore.ansi.org/ansidocstore/product.asp?sku=INCITS%2FISO%2FIEC+14882-2003</a></p>
<p>Alternativ kannst du auch in den Final Draft schauen, den gibt es kostenlos:<br />
<a href="http://www.kuzbass.ru:8086/docs/isocpp/" rel="nofollow">http://www.kuzbass.ru:8086/docs/isocpp/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007758</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Fri, 03 Mar 2006 15:17:30 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 15:47:16 GMT]]></title><description><![CDATA[<p>Danke, habe bisher aber keine Informationen zu dem Problem gefunden.<br />
Dann schränke ich die Aussagen erstmal auf VC++ und g++ ein ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007788</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Fri, 03 Mar 2006 15:47:16 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 15:55:39 GMT]]></title><description><![CDATA[<p>Ich kann noch mehr Verwirrung stiften:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class CTest 
 { 
 public: 
     CTest(){cout&lt;&lt;&quot;constructor CTEST&quot;&lt;&lt;endl;}; 
     ~CTest(){cout&lt;&lt;&quot;Destructor CTEST &quot;&lt;&lt;endl;}; 
     void SagHallo(){cout&lt;&lt;&quot;CTest::Hallo()&quot;&lt;&lt;endl;}; 
 };
 int main(int argc, char* argv[]) 
 { 

     CTest* pTest = 0; 
     pTest-&gt;SagHallo(); 
     return 1; 
 }
</code></pre>
<p>geht auch <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="🙂"
    /><br />
Sollte man natürlich nicht tun, aber es gibt tatsächlich keinen Grund, warum es nicht gehen sollte. Allerdings geht das schon nicht, wenn die Methode virtuell ist. Aber so...</p>
<p>Tommi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007797</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Fri, 03 Mar 2006 15:55:39 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 17:08:45 GMT]]></title><description><![CDATA[<p>tntnet schrieb:</p>
<blockquote>
<p>[...] aber es gibt tatsächlich keinen Grund, warum es nicht gehen sollte.</p>
</blockquote>
<p>Doch siehe oben: Das Verhalten ist undefiniert. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007867</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Fri, 03 Mar 2006 17:08:45 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 20:16:51 GMT]]></title><description><![CDATA[<p>Man möge sich die folgenden Stellen im Standard anschauen:<br />
3.8. Object lifetime. Besonders 3.8/5<br />
9.3.1<br />
5.2.5/1-4</p>
<p>Danach sollte einem klar sein, warum alle hier gezeigten Beispiele zu undefiniertem Verhalten führen.</p>
<p>Mir ist allerdings nicht klar, warum man dazu erst in den Standard schauen muss. Es reicht eigentlich doch der gesunde Menschenverstand um verstehen zu können, dass hier Leichenfledderei betrieben wird. Und die ist in keiner Kultur gern gesehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1007993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1007993</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Fri, 03 Mar 2006 20:16:51 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Fri, 03 Mar 2006 21:56:34 GMT]]></title><description><![CDATA[<p>Ich habe noch wie vor kein Problem damit nicht-statische Methoden aufzurufen, wenn der Objektzeiger nicht mehr gültig ist und 'this' nicht dereferenziert wird (oder eben geprüft).</p>
<p>&quot;if (!this)&quot; benutze ich z.B. bisher und werde ich auch weiterhin.<br />
Die Idee dazu habe ich im übrigen von einem Spiel von Westwood <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1008096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1008096</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Fri, 03 Mar 2006 21:56:34 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Sat, 04 Mar 2006 08:37:32 GMT]]></title><description><![CDATA[<p>Neku schrieb:</p>
<blockquote>
<p>Ich habe noch wie vor kein Problem damit nicht-statische Methoden aufzurufen, wenn der Objektzeiger nicht mehr gültig ist und 'this' nicht dereferenziert wird (oder eben geprüft).</p>
</blockquote>
<p>Eigentlich ist das nicht schwer zu verstehen. Aus Sicht des C++ Standards wird bei einem Methodenaufruf das was links von dem Punkt steht immer ausgewertet. Selbst wenn das was rechts vom Punkt steht eine *statische* Methode ist. Der C++ Standard garantiert dir deshalb nur ein gewisses Verhalten, wenn links ein gültiges Objekt steht. Ein ungültiges Objekt auf der linken Seite bedeutet: Kein gültiges C++ und damit Code aus einer Welt, die vom C++ Standard nicht spezifiziert wird.</p>
<p>Aus diesem Grund kannst du keinerlei allgemeingültige Aussagen darüber treffen, was bei solch ungültigem Code passiert. Du kannst sagen: auf Compiler X in Version Y passiert Z. Du kannst deinen Code natürlich auch unter dieser Annahme schreiben. Du verlierst damit natürlich Portabilität. Denn Compiler Y könnte hier Nasenkobolde fliegen lassen und Compiler X könnte in Version Y.b sein Verhalten ändern.</p>
<blockquote>
<p>&quot;if (!this)&quot; benutze ich z.B. bisher und werde ich auch weiterhin.</p>
</blockquote>
<p>Die Abfrage ist aus Sicht von C++ natürlich ebenfalls blödsinn. Es gilt das oben gesagte.<br />
Ich würde mich hier fragen ob es keine elegantere Methode (also eine die nicht undefiniert ist) gibt, die das Problem löst. Falls es tatsächlich keine solche Methode gibt und ich sicher bin, dass fehlende Portabilität unwichtig ist: Hack kommentieren und Tests bauen, die eine Änderung im Verhalten des Compilers sofort sichtbar machen.</p>
<blockquote>
<p>Die Idee dazu habe ich im übrigen von einem Spiel von Westwood <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
</blockquote>
<p>Die werden hoffentlich einen Grund für solch einen grausamen Hack haben. Aber nur weil die einen haben, heißt das ja noch nicht, dass du einen hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1008233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1008233</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Sat, 04 Mar 2006 08:37:32 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Sat, 04 Mar 2006 18:43:43 GMT]]></title><description><![CDATA[<p>Ich weiß nicht ob es jetzt schon gesagt wurde, aber ich glaube mal, der Compilier macht die Funktion statisch, da sie nicht auf elemente der Klasse zugreift. Wenn sie auf Elemente zugreift, sollte es abstürzen.</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1008687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1008687</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Sat, 04 Mar 2006 18:43:43 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Sun, 05 Mar 2006 02:45:15 GMT]]></title><description><![CDATA[<p>jede nicht-statische memberfunktion bekommt implizit einen objektparameter - dieser ist funktionell äquivalent zu einer (cv-qualifizierten) referenz (ausser dass keine implizite konvertierung stattfindet mit ausnahme von rvalue-zu-lvalue konvertierung). abgesehen davon verhalten sich memberfunktionen nicht anders als normale namespace oder statische funktionen. der springende punkt ist, dass dieses lvalue-objekt bereits VOR eintritt in die funktion gebildet wird - es kommt nicht darauf an, ob dieser parameter tatsächlich innerhalb der funktion verwendet wird. nun ist das dereferenzieren eines NULL-zeigers aber unmittelbar undefiniertes verhalten (und selbst im nächsten standard gilt das zumindest für das bilden einer referenz auf diesen dereferenzierten zeiger).<br />
im übrigen wage ich zu behaupten, dass es niemals einen vorteil bringt einen test auf this!=0 in die memberfunktion zu verlagern (wenn wir mal davon ausgehen, dass das ok ist), der test ist in jedem falle einmal auszuführen, und innerhalb der funktion ist der kontext verloren. es widerspricht jedenfalls dem prinzip, fehler bzw. ungültige daten so frühzeitig wie möglich zu erkennen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1008849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1008849</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sun, 05 Mar 2006 02:45:15 GMT</pubDate></item><item><title><![CDATA[Reply to new &amp;amp; delete on Sun, 05 Mar 2006 10:54:30 GMT]]></title><description><![CDATA[<p>Frag mich was so ein Blödsinn soll ?<br />
Wofür gibt es einen Standard ?<br />
Genausogut kann ich einen Zeiger auf irgendeinen Speicherbereich zeigen lassen, von dem ich weiss, das Windows dort &quot;immer&quot; irgendwas ablegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1008918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1008918</guid><dc:creator><![CDATA[rudiratlos]]></dc:creator><pubDate>Sun, 05 Mar 2006 10:54:30 GMT</pubDate></item></channel></rss>