<?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[Copyconstructor unreferenzieren]]></title><description><![CDATA[<p>Ich würde gerne in einem Copy-Construktor einen im zu kopierenden Objekt enthaltenen Wert kopieren, ohne darauf zu referenzieren. ( Was mein Code anscheinend macht)</p>
<p>Mein versuch sieht so aus:</p>
<pre><code class="language-cpp">...
//Copy-Konstruktor
Type(Type&amp; target);
...
</code></pre>
<pre><code class="language-cpp">...
//Copy-Konstruktor
Type::Type(Type&amp; target)
{
	Type unref = target;

	Buffer = unref.Buffer;
};
...
</code></pre>
<p>Wie bekomme ich die Referenz von target weg?</p>
<p>LG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/227143/copyconstructor-unreferenzieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 04:43:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/227143.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Nov 2008 16:32:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Copyconstructor unreferenzieren on Tue, 11 Nov 2008 16:32:15 GMT]]></title><description><![CDATA[<p>Ich würde gerne in einem Copy-Construktor einen im zu kopierenden Objekt enthaltenen Wert kopieren, ohne darauf zu referenzieren. ( Was mein Code anscheinend macht)</p>
<p>Mein versuch sieht so aus:</p>
<pre><code class="language-cpp">...
//Copy-Konstruktor
Type(Type&amp; target);
...
</code></pre>
<pre><code class="language-cpp">...
//Copy-Konstruktor
Type::Type(Type&amp; target)
{
	Type unref = target;

	Buffer = unref.Buffer;
};
...
</code></pre>
<p>Wie bekomme ich die Referenz von target weg?</p>
<p>LG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1613240</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1613240</guid><dc:creator><![CDATA[RobthaR]]></dc:creator><pubDate>Tue, 11 Nov 2008 16:32:15 GMT</pubDate></item><item><title><![CDATA[Reply to Copyconstructor unreferenzieren on Tue, 11 Nov 2008 19:27:13 GMT]]></title><description><![CDATA[<p>Man kann Referenzen nicht &quot;wegbekommen&quot;. Du solltest dich vielleicht etwas mehr einlesen.</p>
<p>Ausserdem benutzt du innerhalb des Kopierkonstruktor den Klassen-Zuweisungsoperator, was mehr als unüblich ist.</p>
<p>Kopierkonstruktoren sehen normalerweise etwa so aus:</p>
<pre><code class="language-cpp">MyClass::MyClass(const MyClass&amp; Origin)  // Const-Referenz - zu kopierendes Element wird nicht verändert.
: a(Origin.a), b(Origin.b)               // Initialisierungsliste (a, b sind Member)
{
    // Funktionsrumpf
    std::cout &lt;&lt; &quot;Kopierkonstruktor von MyClass wurde aufgerufen.&quot; &lt;&lt; std::endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1613275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1613275</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 11 Nov 2008 19:27:13 GMT</pubDate></item><item><title><![CDATA[Reply to Copyconstructor unreferenzieren on Wed, 12 Nov 2008 12:38:53 GMT]]></title><description><![CDATA[<p>Man kann nicht irgendetwas kopieren, noch kann man sonst was damit machen, ohne es - wie auch immer - zu referenzieren. Referenzieren heißt ja nix anderes als Bezug auf etwas zu nehmen.<br />
Bei Deinem Versuch:</p>
<p>Type unref = target;</p>
<p>versuchst Du ja auch schon, target zu referenzieren. Allerdings wird durch diese Anweisung der Kopierkonstruktor (innerhalb des Kopierkonstruktors ist das rekursiv) aufgerufen, was scheitern muß.</p>
<p>Warum willst Du nicht einfach ganz normal</p>
<pre><code class="language-cpp">//Copy-Konstruktor
Type::Type(const Type&amp; target)
{
   Buffer = target.Buffer;
};
</code></pre>
<p>machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1613540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1613540</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Wed, 12 Nov 2008 12:38:53 GMT</pubDate></item><item><title><![CDATA[Reply to Copyconstructor unreferenzieren on Wed, 12 Nov 2008 13:05:38 GMT]]></title><description><![CDATA[<p>Belli schrieb:</p>
<blockquote>
<p>Warum willst Du nicht einfach ganz normal...machen?</p>
</blockquote>
<p>Ganz normal in C++ wäre es so wie Nexus beschrieben hat, mittels Initialisierungsliste (Und nicht Konstruktion der Member via Standardkonstruktoren und anschließender Zuweisung).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1613557</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1613557</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 12 Nov 2008 13:05:38 GMT</pubDate></item><item><title><![CDATA[Reply to Copyconstructor unreferenzieren on Wed, 12 Nov 2008 14:41:58 GMT]]></title><description><![CDATA[<p>Ja, ich probiers dann mit der Initialisierungsliste. stimmt, da hab ich mal wieder nicht dran gedacht, der ruft sich ja selbst auf, das kann ja nur in die Hose gehn <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>
<p>Die Referenz &quot;wegbekommen&quot; wollt ich, weil irgendwie Werte verändere, die ich eigentlich kopieren wollte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Vielen Dank für die Antworten!</p>
<p>LG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1613601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1613601</guid><dc:creator><![CDATA[RobthaR]]></dc:creator><pubDate>Wed, 12 Nov 2008 14:41:58 GMT</pubDate></item></channel></rss>