<?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 in globalen namespace?]]></title><description><![CDATA[<p>Hallo,</p>
<p>angenommen ich habe eine Klasse in einem namespace, sollte man dann etwaige Operator-Überladungen in dem zugehörigen namespace definieren oder global? Also etwa so ein Code:</p>
<pre><code>namespace stuff
{
    struct mystruct { int value; };

    // Variante 1:
    std::ostream &amp;operator&lt;&lt;(std::ostream &amp;str, mystruct const &amp;my) { 
        stream &lt;&lt; my.value;
        return stream;
    } 
}

// Oder Variante 2:
std::ostream &amp;operator&lt;&lt;(std::ostream &amp;str, stuff::mystruct const &amp;my) { 
    stream &lt;&lt; my.value;
    return stream;
}
</code></pre>
<p>Gibt es hier ein &quot;best-practise&quot; oder eine Empfehlung oder ist das egal?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/328678/operatoren-in-globalen-namespace</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Jul 2026 08:54:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/328678.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 Oct 2014 11:49:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operatoren in globalen namespace? on Wed, 22 Oct 2014 11:49:27 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>angenommen ich habe eine Klasse in einem namespace, sollte man dann etwaige Operator-Überladungen in dem zugehörigen namespace definieren oder global? Also etwa so ein Code:</p>
<pre><code>namespace stuff
{
    struct mystruct { int value; };

    // Variante 1:
    std::ostream &amp;operator&lt;&lt;(std::ostream &amp;str, mystruct const &amp;my) { 
        stream &lt;&lt; my.value;
        return stream;
    } 
}

// Oder Variante 2:
std::ostream &amp;operator&lt;&lt;(std::ostream &amp;str, stuff::mystruct const &amp;my) { 
    stream &lt;&lt; my.value;
    return stream;
}
</code></pre>
<p>Gibt es hier ein &quot;best-practise&quot; oder eine Empfehlung oder ist das egal?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2423323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2423323</guid><dc:creator><![CDATA[happystudent]]></dc:creator><pubDate>Wed, 22 Oct 2014 11:49:27 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren in globalen namespace? on Wed, 22 Oct 2014 12:01:39 GMT]]></title><description><![CDATA[<p>Immer im jeweiligen Namensraum. Die Definition im globalen Namensraum hat keinerlei Vorteil, könnte aber u.U. zu unerwarteter Anwendung des Operators/Mehrdeutigkeiten führen (wenn die zugehörige Klasse über entsprechende Konvertierungsmöglichkeiten verfügt) - oder umgekehrt dazu, dass der Operator wegen Verdeckung nicht gefunden wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2423327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2423327</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 22 Oct 2014 12:01:39 GMT</pubDate></item><item><title><![CDATA[Reply to Operatoren in globalen namespace? on Wed, 22 Oct 2014 12:56:36 GMT]]></title><description><![CDATA[<p>Ok, alles klar, 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>
<p>Dann werd ich das in Zukunft so handhaben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2423338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2423338</guid><dc:creator><![CDATA[happystudent]]></dc:creator><pubDate>Wed, 22 Oct 2014 12:56:36 GMT</pubDate></item></channel></rss>