<?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[Pfeiloperator]]></title><description><![CDATA[<p>Hallo,<br />
ich habe mir gerade etwas zur Überladung vom Pfeiloperator durchgelesen. Dort steht geschrieben, dass der Pfeiloperator einen Zeiger zurückgibt.</p>
<pre><code class="language-cpp">template &lt;class T&gt;
inline T* SmartPointer&lt;T&gt;::operator-&gt;() const
   assert(zeigerAufObjekt);
   return zeigerAufObjekt;
}
</code></pre>
<p>Aber dient der Pfeiloperator nicht dazu über einen Zeiger auf Objekte einer Struktur/Klasse zuzugreifen.</p>
<pre><code class="language-cpp">p-&gt;objekt=xyz;
</code></pre>
<p>Da müsste doch eine Referenz zurückgegeben werden, denn so kann ich doch gar nichts zuweisen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/263213/pfeiloperator</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 01:28:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/263213.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Mar 2010 12:46:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pfeiloperator on Wed, 17 Mar 2010 12:46:21 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe mir gerade etwas zur Überladung vom Pfeiloperator durchgelesen. Dort steht geschrieben, dass der Pfeiloperator einen Zeiger zurückgibt.</p>
<pre><code class="language-cpp">template &lt;class T&gt;
inline T* SmartPointer&lt;T&gt;::operator-&gt;() const
   assert(zeigerAufObjekt);
   return zeigerAufObjekt;
}
</code></pre>
<p>Aber dient der Pfeiloperator nicht dazu über einen Zeiger auf Objekte einer Struktur/Klasse zuzugreifen.</p>
<pre><code class="language-cpp">p-&gt;objekt=xyz;
</code></pre>
<p>Da müsste doch eine Referenz zurückgegeben werden, denn so kann ich doch gar nichts zuweisen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870309</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870309</guid><dc:creator><![CDATA[Der Anfänger!]]></dc:creator><pubDate>Wed, 17 Mar 2010 12:46:21 GMT</pubDate></item><item><title><![CDATA[Reply to Pfeiloperator on Wed, 17 Mar 2010 12:57:52 GMT]]></title><description><![CDATA[<p>Das geht ja nicht, weil der rechte Operand ( <code>objekt</code> bei dir) des Pfeiloperators kein Ausdruck ist, der einer Funktion übergeben werden kann. Stattdessen funktioniert ein überladener Pfeiloperator so, dass der Pfeiloperator erneut auf das Ergebnis der Operatorfunktion angewendet wird. Und ggf. nochmal. Deshalb gibt man dort einen Zeiger zurück (oder etwas anderes, auf das -&gt; angewendet werden kann)</p>
<p>Kurz gesagt: <code>A-&gt;x</code> bedeutet <code>(A.operator-&gt;())-&gt;x</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870312</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 17 Mar 2010 12:57:52 GMT</pubDate></item><item><title><![CDATA[Reply to Pfeiloperator on Wed, 17 Mar 2010 13:13:22 GMT]]></title><description><![CDATA[<p>Danke das wusste ich noch nicht. Ich dachte ich muss, wenn ich den Pfeiloperator überlade ihn komplett nachbilden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870315</guid><dc:creator><![CDATA[Der Anfänger!]]></dc:creator><pubDate>Wed, 17 Mar 2010 13:13:22 GMT</pubDate></item><item><title><![CDATA[Reply to Pfeiloperator on Wed, 17 Mar 2010 13:32:12 GMT]]></title><description><![CDATA[<p>Zum Typenumwandlungsoperator hätte ich auch noch eine Frage:</p>
<pre><code class="language-cpp">template &lt;class T&gt;
inline T* SmartPointer&lt;T&gt;::operator bool() const {
   return bool(zeigerAufObjekt);
}
</code></pre>
<p>Ist bool() eine Funktion? Oder ist das einfach die Typenumwandlung. Aber wieso dann einen Typenumwandlungsoperator, wenn man in ihm so und so umwandelt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870327</guid><dc:creator><![CDATA[Der Anfänger!]]></dc:creator><pubDate>Wed, 17 Mar 2010 13:32:12 GMT</pubDate></item><item><title><![CDATA[Reply to Pfeiloperator on Wed, 17 Mar 2010 15:54:13 GMT]]></title><description><![CDATA[<p>Der Anfänger! schrieb:</p>
<blockquote>
<p>Ist bool() eine Funktion? Oder ist das einfach die Typenumwandlung. Aber wieso dann einen Typenumwandlungsoperator, wenn man in ihm so und so umwandelt?</p>
</blockquote>
<p>Das ist erst mal ein Funktions-Style-Cast. Ich vermeide diese, weil sie relativ wenig Typsicherheit bieten, genauso wie C-Casts (siehe auch <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-261437.html" rel="nofollow">hier</a>).</p>
<p>Warum Pseudo-Rückgabetyp <code>T*</code> ? Konvertierungsoperatoren haben den Rückgabetyp, der nach <code>operator</code> steht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870439</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 17 Mar 2010 15:54:13 GMT</pubDate></item><item><title><![CDATA[Reply to Pfeiloperator on Wed, 17 Mar 2010 16:20:07 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Warum Pseudo-Rückgabetyp <code>T*</code> ? Konvertierungsoperatoren haben den Rückgabetyp, der nach <code>operator</code> steht.</p>
</blockquote>
<p>Mit anderen Worten: das T* ist dort schlicht syntaktisch falsch und überflüssig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870459</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 17 Mar 2010 16:20:07 GMT</pubDate></item><item><title><![CDATA[Reply to Pfeiloperator on Wed, 17 Mar 2010 20:07:55 GMT]]></title><description><![CDATA[<p>Das T* ist falsch da habe ich mich vertippt. Aber wozu brauche ich den Typenumwandlungsoperator, wenn ich in ihm so und so die Umwandlung normal vornehme?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1870573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1870573</guid><dc:creator><![CDATA[Der Anfänger!]]></dc:creator><pubDate>Wed, 17 Mar 2010 20:07:55 GMT</pubDate></item></channel></rss>