<?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[Operatoren überladen, aber wo?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mir noch nie wirklich Gedanken darüber gemacht, aber momentan habe ich einige Probleme mit den Operatoren (oder vielmehr damit, wo ich sie definieren sollte...). Wenn ich z.B. eine Klasse habe wie</p>
<pre><code class="language-cpp">namespace foo
{
    class bar
    {
        // Zeugs...
    };
}
</code></pre>
<p>wo überlade ich dann Operatoren wie etwa <code>std::wostream &amp;operator&lt;&lt;(std::wostream &amp;, const foo::bar &amp;)</code> am besten? Ebenfalls im namespace foo, oder im global namespace? Ich frage, weil ich in meinem aktuellen Projekt, welches bereits ziemlich viele überladene Operatoren aufweist, ein durcheinander habe. Und nun habe ich einen weiteren Operator definiert, und es kompiliert irgendwie nicht mehr und bevor ich das restrukturiere, muss ich doch wissen, wie die gängige Art aussieht <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>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/237351/operatoren-überladen-aber-wo</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 13:31:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/237351.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Mar 2009 14:02:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operatoren überladen, aber wo? on Fri, 27 Mar 2009 14:02:01 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe mir noch nie wirklich Gedanken darüber gemacht, aber momentan habe ich einige Probleme mit den Operatoren (oder vielmehr damit, wo ich sie definieren sollte...). Wenn ich z.B. eine Klasse habe wie</p>
<pre><code class="language-cpp">namespace foo
{
    class bar
    {
        // Zeugs...
    };
}
</code></pre>
<p>wo überlade ich dann Operatoren wie etwa <code>std::wostream &amp;operator&lt;&lt;(std::wostream &amp;, const foo::bar &amp;)</code> am besten? Ebenfalls im namespace foo, oder im global namespace? Ich frage, weil ich in meinem aktuellen Projekt, welches bereits ziemlich viele überladene Operatoren aufweist, ein durcheinander habe. Und nun habe ich einen weiteren Operator definiert, und es kompiliert irgendwie nicht mehr und bevor ich das restrukturiere, muss ich doch wissen, wie die gängige Art aussieht <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>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1686975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1686975</guid><dc:creator><![CDATA[*rant*]]></dc:creator><pubDate>Fri, 27 Mar 2009 14:02:01 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren überladen, aber wo? on Fri, 27 Mar 2009 14:06:05 GMT]]></title><description><![CDATA[<p>im namespace der klasse wegen argument dependent lookup.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1686977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1686977</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 27 Mar 2009 14:06:05 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren überladen, aber wo? on Fri, 27 Mar 2009 14:09:35 GMT]]></title><description><![CDATA[<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>im namespace der klasse wegen argument dependent lookup.</p>
</blockquote>
<p>Gut. Dann reorganisiere ich das Projekt jetzt mal. Dependent lookup scheint auch DAS Stichwort für meine 271 Fehlermeldungen zu sein.</p>
<p>Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1686979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1686979</guid><dc:creator><![CDATA[*rant*]]></dc:creator><pubDate>Fri, 27 Mar 2009 14:09:35 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren überladen, aber wo? on Fri, 27 Mar 2009 22:39:11 GMT]]></title><description><![CDATA[<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>im namespace der klasse wegen argument dependent lookup.</p>
</blockquote>
<p>Wirklich??</p>
<p>Ich würde diesen Operator außerhalb jedes Namespaces definieren. Wegen des zweiten Parameters (foo::bar &amp;) kann es doch keine Verwechselungen mit anderen Operatoren geben. Wozu also im Namespace der Klasse definieren?</p>
<p>Und wäre das wirklich ein Fall von/für argument dependent lookup?</p>
<p>Stefan.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1687185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1687185</guid><dc:creator><![CDATA[Hmmmmm]]></dc:creator><pubDate>Fri, 27 Mar 2009 22:39:11 GMT</pubDate></item></channel></rss>