<?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[Kopien von einem Objekt]]></title><description><![CDATA[<p>Hey!</p>
<p>Wenn ich folgenden Code habe:</p>
<pre><code class="language-cpp">call_by cb1(111);

	call_by cb2 = cb1;

	cout &lt;&lt; &quot;cb2.i: &quot; &lt;&lt; cb2.i &lt;&lt; endl;

	cb1.i = 222;

	cout &lt;&lt; &quot;cb2.i: &quot; &lt;&lt; cb2.i &lt;&lt; endl;
</code></pre>
<p>Dann kopiere ich cb1 in cb2 in der 2. Zeile, oder?</p>
<p>Zum Referenzieren müsste ich ja</p>
<pre><code class="language-cpp">call_by *cb2 = &amp;cb1;
</code></pre>
<p>bzw.</p>
<pre><code class="language-cpp">call_by &amp;cb2 = cb1;
</code></pre>
<p>schreiben.</p>
<p>Stimmt das mit der Kopie?</p>
<p>In java wäre nämlich die Variante ganz oben eine Referenzierung.</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/303457/kopien-von-einem-objekt</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 14:46:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/303457.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 14 May 2012 13:15:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kopien von einem Objekt on Mon, 14 May 2012 13:15:58 GMT]]></title><description><![CDATA[<p>Hey!</p>
<p>Wenn ich folgenden Code habe:</p>
<pre><code class="language-cpp">call_by cb1(111);

	call_by cb2 = cb1;

	cout &lt;&lt; &quot;cb2.i: &quot; &lt;&lt; cb2.i &lt;&lt; endl;

	cb1.i = 222;

	cout &lt;&lt; &quot;cb2.i: &quot; &lt;&lt; cb2.i &lt;&lt; endl;
</code></pre>
<p>Dann kopiere ich cb1 in cb2 in der 2. Zeile, oder?</p>
<p>Zum Referenzieren müsste ich ja</p>
<pre><code class="language-cpp">call_by *cb2 = &amp;cb1;
</code></pre>
<p>bzw.</p>
<pre><code class="language-cpp">call_by &amp;cb2 = cb1;
</code></pre>
<p>schreiben.</p>
<p>Stimmt das mit der Kopie?</p>
<p>In java wäre nämlich die Variante ganz oben eine Referenzierung.</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2211389</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2211389</guid><dc:creator><![CDATA[blub85]]></dc:creator><pubDate>Mon, 14 May 2012 13:15:58 GMT</pubDate></item><item><title><![CDATA[Reply to Kopien von einem Objekt on Mon, 14 May 2012 13:24:51 GMT]]></title><description><![CDATA[<p>blub85 schrieb:</p>
<blockquote>
<p>Hey!</p>
<p>Wenn ich folgenden Code habe:</p>
<pre><code class="language-cpp">call_by cb1(111);
	
	call_by cb2 = cb1;
</code></pre>
<p>Dann kopiere ich cb1 in cb2 in der 2. Zeile, oder?</p>
<p>Stimmt das mit der Kopie?</p>
</blockquote>
<p>Ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2211396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2211396</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Mon, 14 May 2012 13:24:51 GMT</pubDate></item><item><title><![CDATA[Reply to Kopien von einem Objekt on Mon, 14 May 2012 14:00:02 GMT]]></title><description><![CDATA[<p>Okay, das ist schomma gut, dass ich das richtig verstanden hab. <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>Jetzt noch ne Frage:</p>
<p>Wenn ich mein Objekt mit</p>
<pre><code class="language-cpp">Foo f = new Foo();
</code></pre>
<p>erstelle, kann ich genauso arbeiten, wie mit</p>
<pre><code class="language-cpp">Foo f;
</code></pre>
<p>oder? Nur die Speicherweise ist eine andere.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2211400</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2211400</guid><dc:creator><![CDATA[blub85]]></dc:creator><pubDate>Mon, 14 May 2012 14:00:02 GMT</pubDate></item><item><title><![CDATA[Reply to Kopien von einem Objekt on Mon, 14 May 2012 14:11:25 GMT]]></title><description><![CDATA[<p>Kurze Antwort: Nein! (vermeide <code>new</code> wenn es nicht nötig ist).<br />
Die Frage gab es hier gerade, Stichwort Zeiger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2211402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2211402</guid><dc:creator><![CDATA[Oberon_0]]></dc:creator><pubDate>Mon, 14 May 2012 14:11:25 GMT</pubDate></item><item><title><![CDATA[Reply to Kopien von einem Objekt on Mon, 14 May 2012 14:22:48 GMT]]></title><description><![CDATA[<p>Da ich mich aber eher theoretisch mit C++ ausainander setzen muss (Diplomprüfung Info) wär es mal interessan tzu wissen, wo die Unterschiede sind.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2211403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2211403</guid><dc:creator><![CDATA[blub85]]></dc:creator><pubDate>Mon, 14 May 2012 14:22:48 GMT</pubDate></item><item><title><![CDATA[Reply to Kopien von einem Objekt on Mon, 14 May 2012 15:32:49 GMT]]></title><description><![CDATA[<p>blub85 schrieb:</p>
<blockquote>
<p>Da ich mich aber eher theoretisch mit C++ ausainander setzen muss (Diplomprüfung Info) wär es mal interessan tzu wissen, wo die Unterschiede sind.</p>
</blockquote>
<p>Die theoretische Antwort ist, dass ein Objekt</p>
<pre><code class="language-cpp">Foo foo;  // foo ist ein Objekt vom Typ Foo
</code></pre>
<p>im <em>automatischen</em> Speicher (in der Praxis oft durch einen, bzw. <strong>den</strong> Stack implementiert) erzeugt wird. Früher (mittlerweile ganz schlimm veraltet!) konnte man schreiben</p>
<pre><code class="language-cpp">auto Foo foo;
</code></pre>
<p>, um damit die Speicherklasse noch deutlicher zu machen (was natürlich niemand so geschrieben hat, da das auto implizit war). Objekte dieser Art behandelst du genau so wie du es hoffentlich gewohnt bist.</p>
<p>Mit new erzeugst du Objekte im <em>Freispeicher</em> (free-store, in der Praxis ein/der Heap). Diese Objekte kannst du nicht direkt mit ihren Namen ansprechen, sie haben schließlich keinen, stattdessen wirst du dir irgendwo einen Zeiger merken. Eine einfache (aber fehleranziehende) Schreibweise wäre:</p>
<pre><code class="language-cpp">Foo *foo = new Foo; // foo ist vom Typ Zeiger auf Foo. foo zeigt auf ein Foo auf dem Heap
</code></pre>
<p>Bei Zeigern hast du immer eine Indirektion dabei. Wenn du zwei Zeiger einander zuweist, dann weist du den Wert des Zeigers zu, das dahinterliegende Objekt bekommt davon gar nichts mit, insbesondere wird es nicht kopiert. Wenn du auf das Objekt dahinter zugreifen möchtest, dann musst du den Zeiger vorher <em>dereferenzieren</em> mit den Operatoren <code>*</code> , <code>-&gt;</code> (kurz für <code>(*foo).</code> ) oder <code>[]</code> (kurz für <code>*(foo + index)</code> ) (oder den selten gebrauchten Operatoren <code>.*</code> und <code>-&gt;*</code> , die ich jetzt nicht erkläre). Das ganze ist dem Verhalten in Java ähnlich, welches im Hintergrund auf diese Weise funktioniert, aber die Details (z.B. Dereferenzierung) vor dem Programmierer versteckt. Bei Objekten im Freispeicher geht außerdem die Verantwortung auf den Programmierer über, diese später mit delete abzuräumen. Bei Objekten im automatischen Speicher erfolgt dies automatisch nach genau festgelegten Regeln, daher auch der Name.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2211417</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2211417</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 14 May 2012 15:32:49 GMT</pubDate></item><item><title><![CDATA[Reply to Kopien von einem Objekt on Mon, 14 May 2012 16:33:13 GMT]]></title><description><![CDATA[<p>RAII ist auch ganz interessant. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Für deine Dimplom-prüfung jedenfalls ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2211427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2211427</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 14 May 2012 16:33:13 GMT</pubDate></item><item><title><![CDATA[Reply to Kopien von einem Objekt on Mon, 14 May 2012 17:50:32 GMT]]></title><description><![CDATA[<p>SeppJ, suuuuuuuuuuper!! Vielen Dank für die Mühen!!</p>
<p>Hast mir sehr geholfen!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2211446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2211446</guid><dc:creator><![CDATA[blub85]]></dc:creator><pubDate>Mon, 14 May 2012 17:50:32 GMT</pubDate></item></channel></rss>