<?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[std::shared_ptr&amp;lt;T&amp;gt; mit T forward deklariert]]></title><description><![CDATA[<p>Hey,</p>
<p>bei</p>
<pre><code class="language-cpp">class T;

std::shared_ptr&lt;T&gt; Ptr;

class T {
};
</code></pre>
<p>gab es doch irgendein Problem mit dem Destruktoraufruf, weil T erstmal nur forward-deklariert ist, oder? Zu welchem Zeitpunkt muss denn wo was bekannt sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/292887/std-shared_ptr-lt-t-gt-mit-t-forward-deklariert</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 15:41:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/292887.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Sep 2011 21:30:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::shared_ptr&amp;lt;T&amp;gt; mit T forward deklariert on Mon, 19 Sep 2011 21:30:03 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>bei</p>
<pre><code class="language-cpp">class T;

std::shared_ptr&lt;T&gt; Ptr;

class T {
};
</code></pre>
<p>gab es doch irgendein Problem mit dem Destruktoraufruf, weil T erstmal nur forward-deklariert ist, oder? Zu welchem Zeitpunkt muss denn wo was bekannt sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121430</guid><dc:creator><![CDATA[fdfdg]]></dc:creator><pubDate>Mon, 19 Sep 2011 21:30:03 GMT</pubDate></item><item><title><![CDATA[Reply to std::shared_ptr&amp;lt;T&amp;gt; mit T forward deklariert on Mon, 19 Sep 2011 22:08:46 GMT]]></title><description><![CDATA[<p>der shared ptr braucht nur eine vorherige deklaration<br />
der speichert intern ja nur den zeiger, daher ist keine definition erforderlich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121436</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Mon, 19 Sep 2011 22:08:46 GMT</pubDate></item><item><title><![CDATA[Reply to std::shared_ptr&amp;lt;T&amp;gt; mit T forward deklariert on Mon, 19 Sep 2011 22:18:09 GMT]]></title><description><![CDATA[<p>Ok, perfekt. Ich danke Dir!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121437</guid><dc:creator><![CDATA[fdfdg]]></dc:creator><pubDate>Mon, 19 Sep 2011 22:18:09 GMT</pubDate></item><item><title><![CDATA[Reply to std::shared_ptr&amp;lt;T&amp;gt; mit T forward deklariert on Tue, 20 Sep 2011 06:10:03 GMT]]></title><description><![CDATA[<p>Beim Konstruktoraufruf mit einem Zeiger muss der Typ aber vollständig sein, damit der <code>shared_ptr</code> weiss, wie er das <code>delete</code> ausführen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121465</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 20 Sep 2011 06:10:03 GMT</pubDate></item><item><title><![CDATA[Reply to std::shared_ptr&amp;lt;T&amp;gt; mit T forward deklariert on Tue, 20 Sep 2011 06:14:24 GMT]]></title><description><![CDATA[<p>Skym0sh0 schrieb:</p>
<blockquote>
<p>der shared ptr braucht nur eine vorherige deklaration<br />
der speichert intern ja nur den zeiger, daher ist keine definition erforderlich</p>
</blockquote>
<p>Gilt meines Wissens nach nur für unique_ptr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121468</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 20 Sep 2011 06:14:24 GMT</pubDate></item><item><title><![CDATA[Reply to std::shared_ptr&amp;lt;T&amp;gt; mit T forward deklariert on Tue, 20 Sep 2011 06:27:40 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Gilt meines Wissens nach nur für unique_ptr.</p>
</blockquote>
<p>Nein, auch für <code>shared_ptr</code> , steht übrigens in der <a href="http://www.boost.org/doc/libs/1_47_0/libs/smart_ptr/shared_ptr.htm" rel="nofollow">Doku</a>.</p>
<blockquote>
<p>The class template is parameterized on T, the type of the object pointed to. shared_ptr and most of its member functions place no requirements on T; it is allowed to be an incomplete type, or void</p>
</blockquote>
<p><a href="http://home.roadrunner.com/~hinnant/incomplete.html" rel="nofollow">Hier</a> sähe man ausserdem einen Vergleich der beiden im Bezug auf vollständige Typen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121476</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 20 Sep 2011 06:27:40 GMT</pubDate></item><item><title><![CDATA[Reply to std::shared_ptr&amp;lt;T&amp;gt; mit T forward deklariert on Tue, 20 Sep 2011 11:11:30 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Skym0sh0 schrieb:</p>
<blockquote>
<p>der shared ptr braucht nur eine vorherige deklaration<br />
der speichert intern ja nur den zeiger, daher ist keine definition erforderlich</p>
</blockquote>
<p>Gilt meines Wissens nach nur für unique_ptr.</p>
</blockquote>
<p>Für unique_ptr gilt es eben gerade nicht, sondern <em>nur</em> für shared_ptr.</p>
<p>Wenn man keine Ahnung hat, einfach mal die Fresse halten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121602</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 20 Sep 2011 11:11:30 GMT</pubDate></item><item><title><![CDATA[Reply to std::shared_ptr&amp;lt;T&amp;gt; mit T forward deklariert on Tue, 20 Sep 2011 11:49:01 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>314159265358979 schrieb:</p>
<blockquote>
<p>Skym0sh0 schrieb:</p>
<blockquote>
<p>der shared ptr braucht nur eine vorherige deklaration<br />
der speichert intern ja nur den zeiger, daher ist keine definition erforderlich</p>
</blockquote>
<p>Gilt meines Wissens nach nur für unique_ptr.</p>
</blockquote>
<p>Für unique_ptr gilt es eben gerade nicht, sondern <em>nur</em> für shared_ptr.</p>
<p>Wenn man keine Ahnung hat, einfach mal die Fresse halten.</p>
</blockquote>
<p>Wann heiratet ihr 2?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121615</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Tue, 20 Sep 2011 11:49:01 GMT</pubDate></item><item><title><![CDATA[Reply to std::shared_ptr&amp;lt;T&amp;gt; mit T forward deklariert on Tue, 20 Sep 2011 15:35:48 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Für unique_ptr gilt es eben gerade nicht, sondern <em>nur</em> für shared_ptr.</p>
</blockquote>
<p>Okay, dann habe ich das verwechselt <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>hustbaer schrieb:</p>
<blockquote>
<p>Wenn man keine Ahnung hat, einfach mal die Fresse halten.</p>
</blockquote>
<p>:****</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2121730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2121730</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 20 Sep 2011 15:35:48 GMT</pubDate></item></channel></rss>