<?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[Shared Pointer selbst schreiben - Problem mit Copy-Konstruktor]]></title><description><![CDATA[<p>Hi.</p>
<p>Ich möchte gerne einen Shared Ptr (wie boost::shared_ptr) selbstschreiben, den ich auch in den STL Containern nutzen kann.</p>
<p>Also std::vector&lt; SharedPtr&lt;Foo&gt; &gt; soll z.B. möglich sein.</p>
<p>Im Copy-Konstruktor muss man doch den Referenz-Zähler erhöhen, oder? Aber beim Copy-Konstruktor muss eine const referenz übergeben werden, damit es mit den Containern kompiliert.</p>
<pre><code class="language-cpp">SharedPtr(const SharedPtr&amp; rhs)
{
    // Wie soll ich hier den Referenz-Zähler von rhs erhöhen, wenn es eine const-Referenz ist?
}
</code></pre>
<p>Oder macht man das völlig anders? <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/topic/73431/shared-pointer-selbst-schreiben-problem-mit-copy-konstruktor</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 14:11:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/73431.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 May 2004 07:15:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Shared Pointer selbst schreiben - Problem mit Copy-Konstruktor on Mon, 10 May 2004 07:15:23 GMT]]></title><description><![CDATA[<p>Hi.</p>
<p>Ich möchte gerne einen Shared Ptr (wie boost::shared_ptr) selbstschreiben, den ich auch in den STL Containern nutzen kann.</p>
<p>Also std::vector&lt; SharedPtr&lt;Foo&gt; &gt; soll z.B. möglich sein.</p>
<p>Im Copy-Konstruktor muss man doch den Referenz-Zähler erhöhen, oder? Aber beim Copy-Konstruktor muss eine const referenz übergeben werden, damit es mit den Containern kompiliert.</p>
<pre><code class="language-cpp">SharedPtr(const SharedPtr&amp; rhs)
{
    // Wie soll ich hier den Referenz-Zähler von rhs erhöhen, wenn es eine const-Referenz ist?
}
</code></pre>
<p>Oder macht man das völlig anders? <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/517439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517439</guid><dc:creator><![CDATA[bb.]]></dc:creator><pubDate>Mon, 10 May 2004 07:15:23 GMT</pubDate></item><item><title><![CDATA[Reply to Shared Pointer selbst schreiben - Problem mit Copy-Konstruktor on Mon, 10 May 2004 07:28:30 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>innerhalb von Memberfunktionen kannst du auf die Member einer Klasse zugreifen.</p>
<p>Sehe dein Problem nicht ganz.</p>
<p>mfg<br />
v R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/517446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517446</guid><dc:creator><![CDATA[virtuell Realisticer]]></dc:creator><pubDate>Mon, 10 May 2004 07:28:30 GMT</pubDate></item><item><title><![CDATA[Reply to Shared Pointer selbst schreiben - Problem mit Copy-Konstruktor on Mon, 10 May 2004 08:26:37 GMT]]></title><description><![CDATA[<p>Der Pointer auf den Referenzzähler mag vielleicht const sein, aber er zeigt nicht auf const.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/517473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517473</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 10 May 2004 08:26:37 GMT</pubDate></item><item><title><![CDATA[Reply to Shared Pointer selbst schreiben - Problem mit Copy-Konstruktor on Mon, 10 May 2004 09:52:24 GMT]]></title><description><![CDATA[<p>Hmmm, ich habe gerade festgestellt, das ich überhaupt nicht von rhs ändern muss, sondern nur bei der Kopie.</p>
<p>Hier ran konnte ich mich orientiert.</p>
<p><a href="http://www.ogre3d.org/docs/api/html/OgreSharedPtr_8h-source.html" rel="nofollow">http://www.ogre3d.org/docs/api/html/OgreSharedPtr_8h-source.html</a></p>
<p>Allerdings verstehe ich dort beim besten Willen nicht warum der Use Count auf dem Heap angelegt wird. Weiß das vielleicht jemand?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/517497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517497</guid><dc:creator><![CDATA[bb.]]></dc:creator><pubDate>Mon, 10 May 2004 09:52:24 GMT</pubDate></item><item><title><![CDATA[Reply to Shared Pointer selbst schreiben - Problem mit Copy-Konstruktor on Mon, 10 May 2004 09:54:41 GMT]]></title><description><![CDATA[<p>Wo sonst? Denk doch mal die Alternativen durch ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/517499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517499</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 10 May 2004 09:54:41 GMT</pubDate></item><item><title><![CDATA[Reply to Shared Pointer selbst schreiben - Problem mit Copy-Konstruktor on Mon, 10 May 2004 10:01:24 GMT]]></title><description><![CDATA[<p>Ja ganz normal als int-Membervariable mache ich das.</p>
<p>Ist das falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/517506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517506</guid><dc:creator><![CDATA[bb.]]></dc:creator><pubDate>Mon, 10 May 2004 10:01:24 GMT</pubDate></item><item><title><![CDATA[Reply to Shared Pointer selbst schreiben - Problem mit Copy-Konstruktor on Mon, 10 May 2004 10:03:38 GMT]]></title><description><![CDATA[<p>Oder meinstest du jetzt wo man die Erhöhung des Referenz-Zählers machen muss?</p>
<p>Ich dachte in Kopie und Quelle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/517507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517507</guid><dc:creator><![CDATA[bb.]]></dc:creator><pubDate>Mon, 10 May 2004 10:03:38 GMT</pubDate></item><item><title><![CDATA[Reply to Shared Pointer selbst schreiben - Problem mit Copy-Konstruktor on Mon, 10 May 2004 10:18:03 GMT]]></title><description><![CDATA[<p>Folgendes Szenario:<br />
A wird erzeugt und mit einem neuen Heap-Objekt initialisiert<br />
B wird als Kopie von A erzeugt<br />
C wird als Kopie von A erzeugt</p>
<p>Quizfrage: Welche Werte haben die einzelnen Referenzzähler? Welchen sollten sie haben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/517511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517511</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 10 May 2004 10:18:03 GMT</pubDate></item><item><title><![CDATA[Reply to Shared Pointer selbst schreiben - Problem mit Copy-Konstruktor on Mon, 10 May 2004 10:45:33 GMT]]></title><description><![CDATA[<p>Alle Zähler sollten auf 3 sein.</p>
<p>Ich habe gerade gemerkt das meine Klasse mit int als Member und nicht als Zeiger auf int die Werte 1, 2, 2 ausgibt. Mit Zeiger 3, 3, 3</p>
]]></description><link>https://www.c-plusplus.net/forum/post/517527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517527</guid><dc:creator><![CDATA[bb.]]></dc:creator><pubDate>Mon, 10 May 2004 10:45:33 GMT</pubDate></item><item><title><![CDATA[Reply to Shared Pointer selbst schreiben - Problem mit Copy-Konstruktor on Mon, 10 May 2004 10:51:38 GMT]]></title><description><![CDATA[<p>Hmm, Glück gehabt. Ich hab das nämlich leider solange editiert, bis es falsch war ... eigentlich meinte ich, dass C als Kopie von B erzeugt wird. Aber wenn dir der Fehler so schon auffällt <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/517533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/517533</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 10 May 2004 10:51:38 GMT</pubDate></item></channel></rss>