<?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[[...]]]></title><description><![CDATA[<p>[...]</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/330315/topic</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 11:35:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/330315.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 03 Jan 2015 17:14:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [...] on Fri, 26 Jun 2015 07:05:47 GMT]]></title><description><![CDATA[<p>[...]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2435876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2435876</guid><dc:creator><![CDATA[Elementus]]></dc:creator><pubDate>Fri, 26 Jun 2015 07:05:47 GMT</pubDate></item><item><title><![CDATA[Reply to [...] on Sat, 03 Jan 2015 17:19:18 GMT]]></title><description><![CDATA[<p>Die Klassen A, B und C sollten wissen, wie man eine deep copy von sich macht. Dann rufst du nur noch auf a_ptr-&gt;copy(); (Wobei ich es auch komisches Design finde so viele shared_ptr insbesondere auf mutable Daten in einem Programm zu haben.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2435877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2435877</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 03 Jan 2015 17:19:18 GMT</pubDate></item><item><title><![CDATA[Reply to [...] on Sat, 03 Jan 2015 17:32:19 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>(Wobei ich es auch komisches Design finde so viele shared_ptr insbesondere auf mutable Daten in einem Programm zu haben.)</p>
</blockquote>
<p>Wenn jemand so eine Frage stellt, dann ist shared_ptr zu 95% der falsche Weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2435878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2435878</guid><dc:creator><![CDATA[shared_disaster]]></dc:creator><pubDate>Sat, 03 Jan 2015 17:32:19 GMT</pubDate></item><item><title><![CDATA[Reply to [...] on Fri, 26 Jun 2015 07:05:55 GMT]]></title><description><![CDATA[<p>[...]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2435879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2435879</guid><dc:creator><![CDATA[Elementus]]></dc:creator><pubDate>Fri, 26 Jun 2015 07:05:55 GMT</pubDate></item><item><title><![CDATA[Reply to [...] on Sat, 03 Jan 2015 17:37:23 GMT]]></title><description><![CDATA[<p>Elementus schrieb:</p>
<blockquote>
<p>Wieso bzw. wie sollte es denn besser gehen?</p>
</blockquote>
<p>Welchen Grund hast du, shared_ptr zu benutzen? (Dazu gehoert: Welchen Grund hast du einen Pointer zu benutzen? + Welchen Grund hast du fuer shared ownership?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2435880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2435880</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 03 Jan 2015 17:37:23 GMT</pubDate></item><item><title><![CDATA[Reply to [...] on Fri, 26 Jun 2015 07:06:04 GMT]]></title><description><![CDATA[<p>[...]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2435882</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2435882</guid><dc:creator><![CDATA[Elementus]]></dc:creator><pubDate>Fri, 26 Jun 2015 07:06:04 GMT</pubDate></item><item><title><![CDATA[Reply to [...] on Sat, 03 Jan 2015 17:51:32 GMT]]></title><description><![CDATA[<p>Elementus schrieb:</p>
<blockquote>
<p>Hm, ich erzeuge dynamisch Objekte in meinem Programm, baue daraus eine Datenstruktur und brauche dadurch mehrere Pointer, die auf das gleiche Objekt zeigen.</p>
</blockquote>
<p>Du sagst uns nur, was du machst, damit kann man alles begründen. Bitte mehr Hintergrundinformationen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2435883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2435883</guid><dc:creator><![CDATA[shared_disaster]]></dc:creator><pubDate>Sat, 03 Jan 2015 17:51:32 GMT</pubDate></item><item><title><![CDATA[Reply to [...] on Sat, 03 Jan 2015 17:51:35 GMT]]></title><description><![CDATA[<p>Elementus schrieb:</p>
<blockquote>
<p>Hm, ich erzeuge dynamisch Objekte in meinem Programm, baue daraus eine Datenstruktur und brauche dadurch mehrere Pointer, die auf das gleiche Objekt zeigen.</p>
</blockquote>
<p>Das mag die Zeiger erklären, ist aber noch kein hinreichender Grund für <code>shared_ptr</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2435884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2435884</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Sat, 03 Jan 2015 17:51:35 GMT</pubDate></item><item><title><![CDATA[Reply to [...] on Fri, 26 Jun 2015 07:06:11 GMT]]></title><description><![CDATA[<p>[...]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2435890</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2435890</guid><dc:creator><![CDATA[Elementus]]></dc:creator><pubDate>Fri, 26 Jun 2015 07:06:11 GMT</pubDate></item><item><title><![CDATA[Reply to [...] on Sat, 03 Jan 2015 18:44:48 GMT]]></title><description><![CDATA[<p>Elementus schrieb:</p>
<blockquote>
<p>Ein unique_ptr geht auch nicht, weil ich dann die Pointer nicht Methoden übergeben kann bzw. dann müsste ich sie in einen shared_ptr umwandeln.</p>
</blockquote>
<p>lol? Du übergibst eine Referenz.</p>
<blockquote>
<p>Bei der Datenstruktur geht es um einen Baum, dazu habe ich einige Beispiele gefunden die std::shared_ptr benutzen um einen Knoten zu implementieren. Die beiden Kinder sind dann bei binären Bäumen zwei std::shared_ptr auf die Kindsknoten oder nen vector von std::shared_ptr auf viele Kinder. Elternknoten ist dann ein std::weak_ptr. Es gibt auch die andere Meinung, dass Smartpointer bei Bäumen overkill sein, so habe ich es zumindestens bei Stackoverflow gelesen.</p>
</blockquote>
<p>Wenn du einen Pointer auf den Elternknoten hast, macht shared_ptr keinen Sinn. Siehe <a href="https://www.c-plusplus.net/forum/p2435825#2435825">https://www.c-plusplus.net/forum/p2435825#2435825</a>.<br />
Wie gesagt, wenn du keinen Grund für shared_ptr hast, dann nimm unique_ptr.</p>
<blockquote>
<p>Wenn man vor die Knoten jetzt noch eine Baumklasse packt, die den Wurzelknoten beinhaltet, dann gibts dort auch noch einen std::shared_ptr für. Und wenn man davor noch eine Klasse schaltet, wo mehrere Bäume im Spiel sind, dann hat man nochmal einen vector von std::shared_ptr.</p>
</blockquote>
<p>Auch hier kein Grund für shared_ptr.</p>
<blockquote>
<p>Und jetzt würde ich gerne von einem Baum eine komplette Kopie haben.</p>
</blockquote>
<p>Dann schreib dir halt einen Kopierkonstruktor. shared_ptr ist hier nur behinderlich.</p>
<blockquote>
<p>Ich hoffe mal, dass das jetzt ein hinreichender Grund ist oder liege ich daneben. <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>Nein. Es gibt gründe für Bäume mit shared_ptr, aber die hast du nicht genannt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2435891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2435891</guid><dc:creator><![CDATA[shared_disaster]]></dc:creator><pubDate>Sat, 03 Jan 2015 18:44:48 GMT</pubDate></item><item><title><![CDATA[Reply to [...] on Sat, 03 Jan 2015 18:51:00 GMT]]></title><description><![CDATA[<p>Elementus schrieb:</p>
<blockquote>
<p>Ein unique_ptr geht auch nicht, weil ich dann die Pointer nicht Methoden übergeben kann bzw. dann müsste ich sie in einen shared_ptr umwandeln.</p>
</blockquote>
<p>Das 'shared' in <code>shared_ptr</code> bezieht sich auf den Besitz, nicht auf den 'Pointer'.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2435893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2435893</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Sat, 03 Jan 2015 18:51:00 GMT</pubDate></item><item><title><![CDATA[Reply to [...] on Fri, 26 Jun 2015 07:06:20 GMT]]></title><description><![CDATA[<p>[...]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2435894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2435894</guid><dc:creator><![CDATA[Elementus]]></dc:creator><pubDate>Fri, 26 Jun 2015 07:06:20 GMT</pubDate></item></channel></rss>