<?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[Frage zu Zeigern]]></title><description><![CDATA[<p>Hi, warum geht das ?</p>
<pre><code class="language-cpp">class Test
{
public:
    double q;

    explicit Test(int z)
    {
        cout &lt;&lt; &quot;Explizieter Konstruktor&quot; &lt;&lt; endl;
    }

    ~Test()
    {
        cout &lt;&lt; &quot;Destructor&quot; &lt;&lt; endl;
    }
};

int main()
{
    Test * pt = 0;

    {
        Test t(5);
        pt = &amp;t;
    }

    cout &lt;&lt; (pt-&gt;q = 4) &lt;&lt; &quot; &quot; &lt;&lt; pt &lt;&lt; endl;
    //Müsste nach Verlassen des Scopes nicht die Instanz t gelöscht worden sein?
    //Denn man kann nach dem Scope noch immer mit dem Zeiger pt auf q ohne
    //Probleme zugreifen ... ?!
}
</code></pre>
<p>Gruß Tim</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/222235/frage-zu-zeigern</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 04:09:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/222235.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 09 Sep 2008 16:31:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Zeigern on Tue, 09 Sep 2008 16:31:55 GMT]]></title><description><![CDATA[<p>Hi, warum geht das ?</p>
<pre><code class="language-cpp">class Test
{
public:
    double q;

    explicit Test(int z)
    {
        cout &lt;&lt; &quot;Explizieter Konstruktor&quot; &lt;&lt; endl;
    }

    ~Test()
    {
        cout &lt;&lt; &quot;Destructor&quot; &lt;&lt; endl;
    }
};

int main()
{
    Test * pt = 0;

    {
        Test t(5);
        pt = &amp;t;
    }

    cout &lt;&lt; (pt-&gt;q = 4) &lt;&lt; &quot; &quot; &lt;&lt; pt &lt;&lt; endl;
    //Müsste nach Verlassen des Scopes nicht die Instanz t gelöscht worden sein?
    //Denn man kann nach dem Scope noch immer mit dem Zeiger pt auf q ohne
    //Probleme zugreifen ... ?!
}
</code></pre>
<p>Gruß Tim</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579338</guid><dc:creator><![CDATA[Neuling88]]></dc:creator><pubDate>Tue, 09 Sep 2008 16:31:55 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zeigern on Tue, 09 Sep 2008 16:34:01 GMT]]></title><description><![CDATA[<p>Das Ganze fällt unter undefiniertes Verhalten. In diesen einem Fall kannst du zugreifen. Das muß aber nicht so sein. Das ist eben undefiniert. <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/1579340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579340</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 09 Sep 2008 16:34:01 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zeigern on Tue, 09 Sep 2008 16:35:31 GMT]]></title><description><![CDATA[<p>Und was bedeutet das jetzt ? Hab ich was falsch gemacht ? Also ich mein, is das nicht ein Memoryleak ? Oder, ist der Speicherbereich nur noch nciht überschrieben worden, jedoch freigegeben für neue daten ?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579341</guid><dc:creator><![CDATA[Neuling88]]></dc:creator><pubDate>Tue, 09 Sep 2008 16:35:31 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zeigern on Tue, 09 Sep 2008 17:44:08 GMT]]></title><description><![CDATA[<p>Nein, es ist kein Memoryleak, da nirgends Speicher auf dem Heap angefordert wurde.</p>
<p>Und ja, as Objekt liegt rein zufällig noch im Speicher, weil es noch nicht mit neuen Daten überschrieben wurde. Es kann geradesogut etwas anderes dort stehen, was zu einer Zugriffsverweigerung führen sollte. Deshalb sollte man solche Dinge (wie auch Rückgabe von lokalen Zeigern/Referenzen) vermeiden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579380</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 09 Sep 2008 17:44:08 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zeigern on Tue, 09 Sep 2008 17:46:00 GMT]]></title><description><![CDATA[<p>Der Speicherbereich ist nach verlassen des Scopes freigegeben und kann überschrieben werden. dein Beispiel funktioniert, weil du zwischen der Freigabe und dem Abruf keine neuen Objekte anlegst. Aber du kanst dich nicht darauf verlassen. Theoretisch dürften sogar andere Programme an die Stelle schreiben, praktisch wird solcher Speicher jedoch in der Regel nicht (sofort) an das OS zurückgegeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579384</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 09 Sep 2008 17:46:00 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zeigern on Tue, 09 Sep 2008 18:14:42 GMT]]></title><description><![CDATA[<blockquote>
<p>Theoretisch dürften sogar andere Programme an die Stelle schreiben</p>
</blockquote>
<p>Und was viel wichtiger ist. Threads können da den Speicher brauchen. Das ein anderes Programm an die Stelle schreibt ist eher unwahrscheinlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579401</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 09 Sep 2008 18:14:42 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zeigern on Tue, 09 Sep 2008 18:15:12 GMT]]></title><description><![CDATA[<p>Wie is das eigentlich mit Speicherreservierungen so im Allgemeinen, wird jeder Speicher, der in irgend einer Weise von einem C++-Programm verwendet wird, egal ob er wieder sauber freigegeben wird oder nicht, nach Beendigung eines Programms so oder so wieder für andere Anwendungen freigegeben? Mit anderen Worten: Kann man sich mit c++-Programmen SPeicher &quot;kaputt&quot; machen? <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/1579402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579402</guid><dc:creator><![CDATA[TheBrain]]></dc:creator><pubDate>Tue, 09 Sep 2008 18:15:12 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zeigern on Tue, 09 Sep 2008 18:19:43 GMT]]></title><description><![CDATA[<p>TheBrain schrieb:</p>
<blockquote>
<p>Wie is das eigentlich mit Speicherreservierungen so im Allgemeinen, wird jeder Speicher, der in irgend einer Weise von einem C++-Programm verwendet wird, egal ob er wieder sauber freigegeben wird oder nicht, nach Beendigung eines Programms so oder so wieder für andere Anwendungen freigegeben? Mit anderen Worten: Kann man sich mit c++-Programmen SPeicher &quot;kaputt&quot; machen? <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>
</blockquote>
<p>Mit modernen OS nicht. Da wird alles nach dem Beenden vom OS aufgeräumt.<br />
Allerdings schreibt das der Standard nicht vor. Grundsätzlich ist es also theoretsisch möglich den Speicher zu &quot;zerstören&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579406</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 09 Sep 2008 18:19:43 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zeigern on Tue, 09 Sep 2008 18:20:57 GMT]]></title><description><![CDATA[<p>Der Speicher <em>sollte</em> eigentlich beim Beenden des Programms wieder freigegeben werden. Nur passiert das meistens nicht sofort, sondern braucht eine gewisse Zeit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579407</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 09 Sep 2008 18:20:57 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zeigern on Tue, 09 Sep 2008 20:00:03 GMT]]></title><description><![CDATA[<p>Spätestens aber nach einem Neustart, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579462</guid><dc:creator><![CDATA[TheBrain]]></dc:creator><pubDate>Tue, 09 Sep 2008 20:00:03 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zeigern on Tue, 09 Sep 2008 20:33:54 GMT]]></title><description><![CDATA[<p>TheBrain schrieb:</p>
<blockquote>
<p>Spätestens aber nach einem Neustart, oder?</p>
</blockquote>
<p>Jo. Aber wie gesagt da musst du dir bei modernen OS keine Sorge machen. Da wird alles aufgeräumt. Allerdings ist das noch kein Grund deinen Speicher nicht aufzuräumen. <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/1579472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579472</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 09 Sep 2008 20:33:54 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zeigern on Wed, 10 Sep 2008 07:39:56 GMT]]></title><description><![CDATA[<p>Ach menno, wollte das gerade als Freifahrtschein zum unsauberen Programmieren betrachten <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/1579548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579548</guid><dc:creator><![CDATA[TheBrain]]></dc:creator><pubDate>Wed, 10 Sep 2008 07:39:56 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zeigern on Wed, 10 Sep 2008 08:02:16 GMT]]></title><description><![CDATA[<p>Kann ja auch mal vorkommen, dass der Code auf einer Plattform laufen muss, auf der es kein großartiges OS gibt, dass Dir hinterher räumt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579571</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 10 Sep 2008 08:02:16 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Zeigern on Wed, 10 Sep 2008 08:42:53 GMT]]></title><description><![CDATA[<p>Oder auf einer Plattform die nie neu startet...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1579589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1579589</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 10 Sep 2008 08:42:53 GMT</pubDate></item></channel></rss>