<?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[auto_ptr]]></title><description><![CDATA[<p>Hallo,</p>
<p>kann mir mal eine die funktion von auto_ptr erklären</p>
<pre><code class="language-cpp">#include &lt;memory&gt;
#include &lt;exception&gt;
#include &lt;iostream&gt;

using namespace std;

int main()
{
    try {
        auto_ptr&lt;Buffer&gt; b (new Buffer());
        // ...
        b -&gt; transcode( -4); // Wird doch nach auto_ptr ausgeführt
        // ...
    }
    catch (const exception&amp; e) {
        cerr &lt;&lt; &quot;Program exception\n&quot;;
        exit(1);
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/270121/auto_ptr</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 13:46:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/270121.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Jul 2010 18:26:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 18:27:30 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>kann mir mal eine die funktion von auto_ptr erklären</p>
<pre><code class="language-cpp">#include &lt;memory&gt;
#include &lt;exception&gt;
#include &lt;iostream&gt;

using namespace std;

int main()
{
    try {
        auto_ptr&lt;Buffer&gt; b (new Buffer());
        // ...
        b -&gt; transcode( -4); // Wird doch nach auto_ptr ausgeführt
        // ...
    }
    catch (const exception&amp; e) {
        cerr &lt;&lt; &quot;Program exception\n&quot;;
        exit(1);
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1922406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922406</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Tue, 06 Jul 2010 18:27:30 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 18:36:36 GMT]]></title><description><![CDATA[<p>Nicht, bis du lernst, dich endlich mal vernünftig auszudrücken und dein Problem konkret zu beschreiben. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922413</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 06 Jul 2010 18:36:36 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 18:45:36 GMT]]></title><description><![CDATA[<p>es wird new buffer angefordert.<br />
Das new muss wieder freigegeben werden irgendwann mal.<br />
Wenn aber eine exception kommt springt er automatisch in den catch block.</p>
<p>aber der auto_ptr soll das problem angeblich lösen. nur wie ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922418</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922418</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Tue, 06 Jul 2010 18:45:36 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 18:47:43 GMT]]></title><description><![CDATA[<p>Tja, was macht denn der auto_tr&lt;...&gt;?<br />
Guck mal in die Doku deiner Wahl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922421</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Tue, 06 Jul 2010 18:47:43 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 18:48:29 GMT]]></title><description><![CDATA[<p>Stichwort RAII. Beim Verlassen des Scopes wird der Destruktor des <code>auto_ptr</code> -Objekts aufgerufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922422</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 06 Jul 2010 18:48:29 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 18:48:56 GMT]]></title><description><![CDATA[<p>versteh ich das richtig dass auto_ptr auf den selben Speicher zeigt wie b ??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922423</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Tue, 06 Jul 2010 18:48:56 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 18:52:20 GMT]]></title><description><![CDATA[<p>blurry333 schrieb:</p>
<blockquote>
<p>versteh ich das richtig dass auto_ptr auf den selben Speicher zeigt wie b ??</p>
</blockquote>
<p>Siehst du irgendwo ein * ?<br />
Nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922424</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Tue, 06 Jul 2010 18:52:20 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 19:12:32 GMT]]></title><description><![CDATA[<p>warum läuft mein Programm nicht.</p>
<p>z.B. wird in der Methode get &quot;Hallo&quot; nicht ausgegeben</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

class test{

public:
	void get(){cout&lt;&lt;&quot;Hallo&quot;;}
	~test(){}

};

void funk()
{

	test* ptr=new test;
	ptr-&gt;get();

}

int main() {

	char x;

funk();

cin&gt;&gt;x;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1922430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922430</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Tue, 06 Jul 2010 19:12:32 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 19:14:45 GMT]]></title><description><![CDATA[<p>WTF??? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922433</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Tue, 06 Jul 2010 19:14:45 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 19:21:09 GMT]]></title><description><![CDATA[<p>blurry333 schrieb:</p>
<blockquote>
<p>z.B. wird in der Methode get &quot;Hallo&quot; nicht ausgegeben</p>
</blockquote>
<p>Versuch mal <code>flush</code> oder <code>endl</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922434</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Tue, 06 Jul 2010 19:21:09 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 19:21:24 GMT]]></title><description><![CDATA[<p>blurry333 schrieb:</p>
<blockquote>
<p>z.B. wird in der Methode get &quot;Hallo&quot; nicht ausgegeben</p>
</blockquote>
<p>Doch.</p>
<p>(Jedoch möglicherweise nicht bevor cin&gt;&gt;x geschieht. Da du den Stream nicht zur Synchronisation zwingst sind die Zeichen eventuell noch im Puffer.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922435</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 06 Jul 2010 19:21:24 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 19:22:50 GMT]]></title><description><![CDATA[<p>da kommt keine Ausgabe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922436</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Tue, 06 Jul 2010 19:22:50 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 19:23:57 GMT]]></title><description><![CDATA[<p>ok plötzlich gehts <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>
<p>hab die datei gelöscht und nochmal neu angelegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922437</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Tue, 06 Jul 2010 19:23:57 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 19:28:31 GMT]]></title><description><![CDATA[<p>was ich ja eigentlich testen wollte, ob der destruktor test<br />
nach verlassen von funk aufgerufen wird. DAchte wenn der scope verlassen<br />
wird , muss der Destruktor aufgerufen werden.</p>
<p>Der Destruktor wurde jedenfalls nicht aufgerufen !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922440</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Tue, 06 Jul 2010 19:28:31 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 19:31:12 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

class test{

public:
	void get(){cout&lt;&lt;&quot;Hallo&quot;&lt;&lt;endl;}
	~test(){cout&lt;&lt;&quot;Destruktor wurde aufgerufen&quot;;}
};

void funk()
{

	test* ptr=new test;
	ptr-&gt;get();

}

int main() {

	char x;

funk();

cin&gt;&gt;x;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1922443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922443</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Tue, 06 Jul 2010 19:31:12 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 20:51:08 GMT]]></title><description><![CDATA[<p>Wie sollte er auch, wenn auf den Pointer kein <code>delete</code> aufgerufen wird? (Um korrekt zu sein: der Destruktor von <code>test</code> wird sehr wohl aufgerufen, nur der Destruktor von <code>*test</code> nicht.) Probiere das selbe Beispiel, indem du <code>test* ptr=new test;</code> durch <code>auto_ptr&lt;test&gt; ptr(new test);</code> ersetzt und du siehst gleich die Wirkung von <code>auto_ptr</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922462</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Tue, 06 Jul 2010 20:51:08 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 21:38:28 GMT]]></title><description><![CDATA[<p>ok jetzt geht er an die STelle des Destruktors wenn ich den auto_ptr<br />
verwende. Allerdings steht dann dort &quot;für die aktuelle Position ist<br />
kein Quellcode verfügbar &quot; .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922479</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Tue, 06 Jul 2010 21:38:28 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 21:39:44 GMT]]></title><description><![CDATA[<p>Wo ist &quot;dort&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922481</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Tue, 06 Jul 2010 21:39:44 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 21:53:56 GMT]]></title><description><![CDATA[<p>Meldung von Visual STudio halt.</p>
<p>aber sollte das delete nicht in den Destruktor rein<br />
und nicht in die funk .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922486</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Tue, 06 Jul 2010 21:53:56 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 21:57:21 GMT]]></title><description><![CDATA[<p>kleine KOrrektur wenn ichs ohne Debugger aufrufe, dann gehts <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/1922488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922488</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Tue, 06 Jul 2010 21:57:21 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Tue, 06 Jul 2010 23:48:10 GMT]]></title><description><![CDATA[<p>Junge, kauf dir ein dickes Buch über Grundlagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922500</guid><dc:creator><![CDATA[SchwereMeinung]]></dc:creator><pubDate>Tue, 06 Jul 2010 23:48:10 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Wed, 07 Jul 2010 01:29:34 GMT]]></title><description><![CDATA[<p>blurry333 schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>kann mir mal eine die funktion von auto_ptr erklären</p>
<pre><code class="language-cpp">#include &lt;memory&gt;
#include &lt;exception&gt;
#include &lt;iostream&gt;

using namespace std;

int main()
{
    try {
        auto_ptr&lt;Buffer&gt; b (new Buffer());
        // ...
        b -&gt; transcode( -4); // Wird doch nach auto_ptr ausgeführt
        // ...
    }
    catch (const exception&amp; e) {
        cerr &lt;&lt; &quot;Program exception\n&quot;;
        exit(1);
    }
}
</code></pre>
</blockquote>
<p><a href="http://www.cprogramming.com/tutorial/auto_ptr.html" rel="nofollow">http://www.cprogramming.com/tutorial/auto_ptr.html</a><br />
Allerdings sollte du wirklich den Rat von SchwereMeinung folgen und ein gutes Buch kaufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922503</guid><dc:creator><![CDATA[spongebob011101]]></dc:creator><pubDate>Wed, 07 Jul 2010 01:29:34 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Wed, 07 Jul 2010 01:34:53 GMT]]></title><description><![CDATA[<p>Hier auf Deutsch: <a href="http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=auto_ptr#Answ" rel="nofollow">http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=auto_ptr#Answ</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922504</guid><dc:creator><![CDATA[ScopedPtrFTW]]></dc:creator><pubDate>Wed, 07 Jul 2010 01:34:53 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Wed, 07 Jul 2010 16:57:22 GMT]]></title><description><![CDATA[<p>häh was ich noch nicht versteh.</p>
<p>warum wird der auto_ptr zeiger nach Verlassen des scope automatisch freigegeben aber ein anderer Zeiger nicht ?</p>
<p>wenn ich das delete im Scope ausführe und vorher wird ein exception ausgelöst dann bleibt der Speicher, aber wenn ich das delete im Destuktor des<br />
objekts ausführe müßte doch auch dieser nach verlassen des scope<br />
automatisch freigegeben werden ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922854</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Wed, 07 Jul 2010 16:57:22 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Wed, 07 Jul 2010 18:27:56 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Am einfachsten schaust du mal bei Google nach RAII. Dort findet genug Informationen um alles zu verstehen.</p>
<p>Hier nur nochmal kurz zu deinem Problem:</p>
<p>blurry333 schrieb:</p>
<blockquote>
<p>häh was ich noch nicht versteh.</p>
<p>warum wird der auto_ptr zeiger nach Verlassen des scope automatisch freigegeben aber ein anderer Zeiger nicht ?...</p>
</blockquote>
<p>Der auto_ptr selbst ist kein Zeiger sondern ein <strong>Lokales</strong> Objekt, deswegen auch kein ***** bei der Definition. Diese Objekte werden _immer_ nach verlassen ihres Scopes gelöscht. Dadurch wird vom auto_ptr der Destruktor aufgerufen, welcher wiederum das in sicher beherbergte Objekt löscht.</p>
<p>Bei einem &quot;normalen&quot; Zeiger, musst du das Objekt mit <strong>new</strong> anlegen und mit <strong>delete</strong> wieder löschen und nur dann wird der Destruktor des Objektes aufgerufen.</p>
<p>Bitte erst genau lesen was man dir postet. Die meisten machen dies nicht zum Spaß sondern um dir zu helfen.</p>
<p>Mfg marco</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922884</guid><dc:creator><![CDATA[Marc-O]]></dc:creator><pubDate>Wed, 07 Jul 2010 18:27:56 GMT</pubDate></item><item><title><![CDATA[Reply to auto_ptr on Wed, 07 Jul 2010 22:04:59 GMT]]></title><description><![CDATA[<p>stimmt.</p>
<p>auto_ptr hat seinen Zeiger als Attribut.</p>
<p>Der Name auto_pointer verwirrt weil man meinen könnte es wäre tatsächlich ein Pointer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1922999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1922999</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Wed, 07 Jul 2010 22:04:59 GMT</pubDate></item></channel></rss>