<?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[Verständnisproblem. Was soll das bezwecken?]]></title><description><![CDATA[<p>Huhu Community,<br />
Nun komme ich mit einem anderen Problem zu euch. <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 />
Ich lese mir zur Zeit ein C++ Tutorial durch, dort geht es gerade um Referenzen. Der Autor bringt diesen Quelltext ein:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
    using namespace std;

    void tausche(int&amp;, int&amp;); //wie gehabt int&amp; ist eine referenz

    int main()
    {
      int a=2;
      int b=5;
      cout&lt;&lt;&quot;a = &quot;&lt;&lt;a&lt;&lt;&quot;\nb = &quot;&lt;&lt;b&lt;&lt;&quot;\n&quot;;
      tausche(a,b);
      cout&lt;&lt;&quot;a = &quot;&lt;&lt;a&lt;&lt;&quot;\nb = &quot;&lt;&lt;b&lt;&lt;&quot;\n&quot;;
    }

    void tausche(int&amp; a, int&amp; b)
    {
      int temp=a;
      a=b;
      b=temp;
    }
</code></pre>
<p>Mir ist klar was das bezwecken soll. Es soll die Variablen a und b mittels Referenzen tauschen. Doch verstehe ich den sogenannten &quot;Dreieckstausch&quot; unten nicht:</p>
<pre><code class="language-cpp">void tausche(int&amp; a, int&amp; b)
    {
      int temp=a;
      a=b;
      b=temp;
    }
</code></pre>
<p>Meiner Meinung nach wird dort nur die Referenz a auf temp referenziert und dann der Wert der Referenz a auf b geschoben. Dann ist die Zeile b=temp doch überflüssig, da b schon den Wert der Referenz von a hat, oder?<br />
Das Programm funktioniert zwar, doch ich verstehe es nicht <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/236967/verständnisproblem-was-soll-das-bezwecken</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 16:29:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/236967.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 22 Mar 2009 14:44:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verständnisproblem. Was soll das bezwecken? on Sun, 22 Mar 2009 14:44:37 GMT]]></title><description><![CDATA[<p>Huhu Community,<br />
Nun komme ich mit einem anderen Problem zu euch. <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 />
Ich lese mir zur Zeit ein C++ Tutorial durch, dort geht es gerade um Referenzen. Der Autor bringt diesen Quelltext ein:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
    using namespace std;

    void tausche(int&amp;, int&amp;); //wie gehabt int&amp; ist eine referenz

    int main()
    {
      int a=2;
      int b=5;
      cout&lt;&lt;&quot;a = &quot;&lt;&lt;a&lt;&lt;&quot;\nb = &quot;&lt;&lt;b&lt;&lt;&quot;\n&quot;;
      tausche(a,b);
      cout&lt;&lt;&quot;a = &quot;&lt;&lt;a&lt;&lt;&quot;\nb = &quot;&lt;&lt;b&lt;&lt;&quot;\n&quot;;
    }

    void tausche(int&amp; a, int&amp; b)
    {
      int temp=a;
      a=b;
      b=temp;
    }
</code></pre>
<p>Mir ist klar was das bezwecken soll. Es soll die Variablen a und b mittels Referenzen tauschen. Doch verstehe ich den sogenannten &quot;Dreieckstausch&quot; unten nicht:</p>
<pre><code class="language-cpp">void tausche(int&amp; a, int&amp; b)
    {
      int temp=a;
      a=b;
      b=temp;
    }
</code></pre>
<p>Meiner Meinung nach wird dort nur die Referenz a auf temp referenziert und dann der Wert der Referenz a auf b geschoben. Dann ist die Zeile b=temp doch überflüssig, da b schon den Wert der Referenz von a hat, oder?<br />
Das Programm funktioniert zwar, doch ich verstehe es nicht <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684311</guid><dc:creator><![CDATA[Xdab4yaX]]></dc:creator><pubDate>Sun, 22 Mar 2009 14:44:37 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem. Was soll das bezwecken? on Sun, 22 Mar 2009 14:47:35 GMT]]></title><description><![CDATA[<p>Referenzen können nicht umgeschoben oder verändert werden. Wenn man nach der Initialisierung auf die Referenz zugreift oder ihr einen Wert zuweist, spricht man immer das referenzierte Objekt an.</p>
<p>Der Dreieckstausch ist notwendig, da du nicht gleichzeit ein Objekt einem anderen und das andere dem einen zuweisen kannst. Sobald du nämlich eine Zuweisung gemacht hast, haben beide Objekte den selben Wert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1684313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684313</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 22 Mar 2009 14:47:35 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem. Was soll das bezwecken? on Sun, 22 Mar 2009 14:53:24 GMT]]></title><description><![CDATA[<p>Okay, danke dir <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/1684319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1684319</guid><dc:creator><![CDATA[Xdab4yaX]]></dc:creator><pubDate>Sun, 22 Mar 2009 14:53:24 GMT</pubDate></item></channel></rss>