<?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[operator -&amp;gt; non-const über -&amp;gt; const implementieren]]></title><description><![CDATA[<p>Hallo,</p>
<p>Wenn man eine Memberfunktion sowohl als non-const, als auch als const-Version hat, kann man ja die non-const Version über die const-Version implementieren. Wie funktioniert das bei operator -&gt;?</p>
<p>Grüße,<br />
PI</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/292515/operator-gt-non-const-über-gt-const-implementieren</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 00:14:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/292515.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 11 Sep 2011 20:45:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to operator -&amp;gt; non-const über -&amp;gt; const implementieren on Sun, 11 Sep 2011 20:45:35 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Wenn man eine Memberfunktion sowohl als non-const, als auch als const-Version hat, kann man ja die non-const Version über die const-Version implementieren. Wie funktioniert das bei operator -&gt;?</p>
<p>Grüße,<br />
PI</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118074</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sun, 11 Sep 2011 20:45:35 GMT</pubDate></item><item><title><![CDATA[Reply to operator -&amp;gt; non-const über -&amp;gt; const implementieren on Sun, 11 Sep 2011 21:37:33 GMT]]></title><description><![CDATA[<p>Nun, ich würde den const-Teil von this wegcasten und das Objekt, auf das über -&gt; zugegriffen werden soll, zurückliefern.</p>
<p>Also quasi so:</p>
<pre><code class="language-cpp">class Whatever
{
private:
int&amp; value;

public:
int&amp; operator-&gt;() {return value;}
const int&amp; operator-&gt;() const {return const_cast&lt;Whatever*&gt;(this)-&gt;operator-&gt;();}
};
</code></pre>
<p>oder so.</p>
<p>Edit: Achso, Du wolltest das andersrum haben. Dann könnte man halt this zu const Whatever* casten und vom Ergebnis das const wiederum wegcasten oder so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2118094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118094</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Sun, 11 Sep 2011 21:37:33 GMT</pubDate></item><item><title><![CDATA[Reply to operator -&amp;gt; non-const über -&amp;gt; const implementieren on Sun, 11 Sep 2011 21:43:35 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">return const_cast&lt;T*&gt;(static_cast&lt;const nullable*&gt;(this)-&gt;operator -&gt;());
</code></pre>
<p>Funktioniert tatsächlich. Hatte ich wohl vorhin einen Syntaxfehler oder sowas drin. Seltsam.</p>
<p>Danke <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/2118102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2118102</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sun, 11 Sep 2011 21:43:35 GMT</pubDate></item></channel></rss>