<?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[Wie funktioniert der überladene -&amp;gt; Operator]]></title><description><![CDATA[<p>Folgendes ist gegeben.</p>
<pre><code class="language-cpp">template&lt; class T &gt;
class A
{
    public:
        T* operator-&gt;( void ){ return &amp;Member; };
        T Member;   
};

class B
{
    public:
        int Member2;
};

int main( void )
{
    A&lt; B &gt; a;
    a-&gt;Member2 = 1; // der Rückgabewert von a-&gt; ist ja eg B*. Warum
                    // funktioniert a-&gt;member2. Müsste es nicht a-&gt;-&gt;Member2 heißen? 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/210834/wie-funktioniert-der-überladene-gt-operator</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 18:40:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/210834.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 15 Apr 2008 20:32:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie funktioniert der überladene -&amp;gt; Operator on Tue, 15 Apr 2008 20:32:46 GMT]]></title><description><![CDATA[<p>Folgendes ist gegeben.</p>
<pre><code class="language-cpp">template&lt; class T &gt;
class A
{
    public:
        T* operator-&gt;( void ){ return &amp;Member; };
        T Member;   
};

class B
{
    public:
        int Member2;
};

int main( void )
{
    A&lt; B &gt; a;
    a-&gt;Member2 = 1; // der Rückgabewert von a-&gt; ist ja eg B*. Warum
                    // funktioniert a-&gt;member2. Müsste es nicht a-&gt;-&gt;Member2 heißen? 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1492639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1492639</guid><dc:creator><![CDATA[uliws]]></dc:creator><pubDate>Tue, 15 Apr 2008 20:32:46 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert der überladene -&amp;gt; Operator on Tue, 15 Apr 2008 21:08:55 GMT]]></title><description><![CDATA[<p>Deine Logik ist richtig, aber der -&gt; Operator stellt da etwas besonderes dar.<br />
Der ist genau für Solche Zwecke (Smaprpointers). Darum muss auch der Rückgabewert ein Zeiger oder ein Objekt, auf das -&gt; angewendet werden kann sein.<br />
Das ist also ganz normales Verhalten des überladenen -&gt; Operators.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1492660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1492660</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 15 Apr 2008 21:08:55 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert der überladene -&amp;gt; Operator on Tue, 15 Apr 2008 23:00:37 GMT]]></title><description><![CDATA[<p>uliws schrieb:</p>
<blockquote>
<p>... Müsste es nicht a-&gt;-&gt;Member2 heißen? ...</p>
</blockquote>
<p>Zu drakons Beitrag wollte ich noch hinzufügen, dass solange der -&gt; Operator einer Klasse keine Adresse (sprich keinen Zeiger-Typ, auf welchen der vordefinierte -&gt; Operator angewendet werden kann) zurückgibt, solange wird <strong>rekursiv</strong> der -&gt; Operator des zurückgegebenen Objekts aufgerufen, bis einer der -&gt;Operatoren eine Adresse zurückgibt.</p>
<p>In der Rekursion sind auch deine beiden -&gt;-&gt; versteckt. <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/1492682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1492682</guid><dc:creator><![CDATA[Hinzufüger]]></dc:creator><pubDate>Tue, 15 Apr 2008 23:00:37 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert der überladene -&amp;gt; Operator on Tue, 15 Apr 2008 23:31:18 GMT]]></title><description><![CDATA[<p>Genau genommen handelt es sich um keine Rekursion, sondern um eine Verkettung von Funktionaufrufen. Das Ergebnis des ersten Funktionsaufrufs ist Argument des zweiten, nicht umgekehrt. Zudem handelt es sich jeweils um die Operatoren unterschiedlicher Klassen (oder man spielt mit cv-basierter Überladung, jedenfalls darf das Ganze nicht zyklisch werden).</p>
<pre><code class="language-cpp">foo.operator-&gt;().operator-&gt;() /* ... */ .operator-&gt;()-&gt;id
</code></pre>
<p>Die &quot;Magie&quot; dieses Operators wirkt nur wenn auch die Operatorsyntax genutzt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1492686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1492686</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 15 Apr 2008 23:31:18 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert der überladene -&amp;gt; Operator on Wed, 16 Apr 2008 10:21:56 GMT]]></title><description><![CDATA[<p>Ja, der Begriff rekursiv im Zusammenhang mit dem -&gt;Operator ist schlicht falsch. Danke für den Hinweis. <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>Man könnte sagen, &quot;der Vorgang&quot;, des ständigen Aufrufens des -&gt;Operators wird rekursiv durchgeführt. So, oder so ähnlichs stehts auch im Lippman.</p>
<p>camper schrieb:</p>
<blockquote>
<p>...Die &quot;Magie&quot; dieses Operators wirkt nur wenn auch die Operatorsyntax genutzt wird....</p>
</blockquote>
<p><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="😕"
    /> Wie jetzt? Welche Magie?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1492849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1492849</guid><dc:creator><![CDATA[Hinzufügen]]></dc:creator><pubDate>Wed, 16 Apr 2008 10:21:56 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert der überladene -&amp;gt; Operator on Wed, 16 Apr 2008 10:36:49 GMT]]></title><description><![CDATA[<p>Hinzufügen schrieb:</p>
<blockquote>
<p><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="😕"
    /> Wie jetzt? Welche Magie?</p>
</blockquote>
<p>Na dass man sich das doppelte '-&gt;-&gt;' sparen kann: Wenn man nicht die Operatorsyntax verwendet, muss man es ja doch explizit verwenden: 'foo.operator -&gt;()<strong>-&gt;</strong>…'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1492860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1492860</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Wed, 16 Apr 2008 10:36:49 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert der überladene -&amp;gt; Operator on Wed, 16 Apr 2008 19:12:42 GMT]]></title><description><![CDATA[<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>&quot;... Wenn man nicht die Operatorsyntax verwendet, muss man es ja doch explizit verwenden: ...&quot;</p>
</blockquote>
<p>Vielleicht ein kurzer Quellcode zur Demonstration des Unterschieds? Kann mir noch immer nichts darunter vorstellen, zumal es (meinem Verständnis nach!) keinen Unterschied machen sollte. <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/1493205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1493205</guid><dc:creator><![CDATA[Hinzufüger]]></dc:creator><pubDate>Wed, 16 Apr 2008 19:12:42 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert der überladene -&amp;gt; Operator on Wed, 16 Apr 2008 19:26:51 GMT]]></title><description><![CDATA[<p>Konrad Rudolph hat ja ein Beispiel genannt. Steht ja da. Man muss nie -&gt;-&gt; hinereinander schreiben, auch wenn operator-&gt;()-&gt; gemeint ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1493213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1493213</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 16 Apr 2008 19:26:51 GMT</pubDate></item></channel></rss>