<?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[Rückgabe von std::auto_ptr]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ne Funktion:</p>
<pre><code class="language-cpp">std::auto_ptr&lt;MyClass&gt; getObject();
</code></pre>
<p>Jetzt will ich auf dem Objekt nur eine Methode aufrufen.<br />
Das kann ich natürlich so machen:</p>
<pre><code class="language-cpp">std::auto_ptr&lt;myClass&gt; ptr = o.getObject();
MyClass* my = ptr.get();
my-&gt;func();
</code></pre>
<p>Krieg ich das auch als &quot;Einzeiler&quot; hin?</p>
<pre><code class="language-cpp">o.getObject().get()-&gt;func();
</code></pre>
<p>So klappt es nicht (vermutlich, weil der Destruktor des std::auto_ptr vorher aufgerufen wird)</p>
<p>Mit release wird natürlich leider das Objekt nicht mehr freigegeben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Geht es wirklich nicht als Einzeiler?</p>
<p>Gruß<br />
*Cpp-Anfänger*</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/194514/rückgabe-von-std-auto_ptr</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 14:54:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/194514.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 07 Oct 2007 20:49:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Rückgabe von std::auto_ptr on Sun, 07 Oct 2007 20:49:10 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ne Funktion:</p>
<pre><code class="language-cpp">std::auto_ptr&lt;MyClass&gt; getObject();
</code></pre>
<p>Jetzt will ich auf dem Objekt nur eine Methode aufrufen.<br />
Das kann ich natürlich so machen:</p>
<pre><code class="language-cpp">std::auto_ptr&lt;myClass&gt; ptr = o.getObject();
MyClass* my = ptr.get();
my-&gt;func();
</code></pre>
<p>Krieg ich das auch als &quot;Einzeiler&quot; hin?</p>
<pre><code class="language-cpp">o.getObject().get()-&gt;func();
</code></pre>
<p>So klappt es nicht (vermutlich, weil der Destruktor des std::auto_ptr vorher aufgerufen wird)</p>
<p>Mit release wird natürlich leider das Objekt nicht mehr freigegeben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Geht es wirklich nicht als Einzeiler?</p>
<p>Gruß<br />
*Cpp-Anfänger*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380094</guid><dc:creator><![CDATA[*Cpp-Anfänger* 0]]></dc:creator><pubDate>Sun, 07 Oct 2007 20:49:10 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe von std::auto_ptr on Sun, 07 Oct 2007 20:51:23 GMT]]></title><description><![CDATA[<p>Der Sinn dieser Smart-Pointer ist doch grade, dass sie sich wie normale Pointer verwenden lassen. Demnach ist auch der -&gt; und der *-Operator überladen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380097</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Sun, 07 Oct 2007 20:51:23 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe von std::auto_ptr on Sun, 07 Oct 2007 21:26:36 GMT]]></title><description><![CDATA[<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380119</guid><dc:creator><![CDATA[*Cpp-Anfänger* 0]]></dc:creator><pubDate>Sun, 07 Oct 2007 21:26:36 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe von std::auto_ptr on Sun, 07 Oct 2007 21:40:11 GMT]]></title><description><![CDATA[<p><em>Cpp-Anfänger</em> schrieb:</p>
<blockquote>
<p>Krieg ich das auch als &quot;Einzeiler&quot; hin?</p>
<pre><code class="language-cpp">o.getObject().get()-&gt;func();
</code></pre>
<p>So klappt es nicht.</p>
</blockquote>
<p>So geht es auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380128</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sun, 07 Oct 2007 21:40:11 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe von std::auto_ptr on Mon, 08 Oct 2007 15:53:13 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">o.getObject().get()-&gt;func();
</code></pre>
<p>Bei mir geht es so nicht...</p>
<p>Vielleicht sind deinem Objekt alle Inhalt auf dem Stack und der wurde noch nicht<br />
überschrieben.</p>
<p>Bei einem Zugriff auf ein Heap-Objekt, das im Destruktor gelöscht wird,<br />
legt er sich auf die Nase...</p>
<p>Gruß,<br />
*Cpp-Anfänger*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380594</guid><dc:creator><![CDATA[*Cpp-Anfänger* 0]]></dc:creator><pubDate>Mon, 08 Oct 2007 15:53:13 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe von std::auto_ptr on Mon, 08 Oct 2007 16:13:16 GMT]]></title><description><![CDATA[<p><em>Cpp-Anfänger</em> schrieb:</p>
<blockquote>
<pre><code class="language-cpp">o.getObject().get()-&gt;func();
</code></pre>
<p>Bei mir geht es so nicht...</p>
</blockquote>
<p>Dann ist dein Compiler hoffnungslos kaputt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380615</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Mon, 08 Oct 2007 16:13:16 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe von std::auto_ptr on Mon, 08 Oct 2007 16:33:50 GMT]]></title><description><![CDATA[<p>Sollte nicht eigentlich sogar</p>
<p>o.getObject()-&gt;func();</p>
<p>funktionieren?</p>
<p>edit: btw. &quot;funktioniert nicht&quot; ist keine sehr aussagekräftige Beschreibung. Was ist denn die konkrete Fehlermeldung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380640</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Mon, 08 Oct 2007 16:33:50 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe von std::auto_ptr on Mon, 08 Oct 2007 22:29:18 GMT]]></title><description><![CDATA[<p>Jester schrieb:</p>
<blockquote>
<p>Sollte nicht eigentlich sogar</p>
<p>o.getObject()-&gt;func();</p>
<p>funktionieren?</p>
</blockquote>
<p>Funktioniert ja auch, deswegen auch gleich der Dank an The-Kenny.</p>
<p>&quot;Geht nicht&quot; ist wirklich keine aussagekräftige Fehlermeldung ^^<br />
Hab nen Segmentation Fault gekriegt.<br />
Lag aber wohl an etwas anderem, jedenfalls kann ich ihn nicht mehr reproduzieren.</p>
<p>thx an alle</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380902</guid><dc:creator><![CDATA[*Cpp-Anfänger* 0]]></dc:creator><pubDate>Mon, 08 Oct 2007 22:29:18 GMT</pubDate></item></channel></rss>