<?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[== impliziert !=]]></title><description><![CDATA[<p>Hi,</p>
<p>wenn ich für zwei Pointer <strong>operator==</strong> implementiere um auf Gleichheit der Objekte dahinter zu prüfen, ist dann automatisch auch != so definiert oder ist<br />
(A == <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /> dann nicht äquivalent zu !(A != <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /></p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/192115/impliziert</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 07:59:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/192115.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 Sep 2007 17:30:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to == impliziert != on Mon, 10 Sep 2007 17:30:06 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>wenn ich für zwei Pointer <strong>operator==</strong> implementiere um auf Gleichheit der Objekte dahinter zu prüfen, ist dann automatisch auch != so definiert oder ist<br />
(A == <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /> dann nicht äquivalent zu !(A != <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="B)"
      alt="😎"
    /></p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1362771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1362771</guid><dc:creator><![CDATA[__et_]]></dc:creator><pubDate>Mon, 10 Sep 2007 17:30:06 GMT</pubDate></item><item><title><![CDATA[Reply to == impliziert != on Mon, 10 Sep 2007 17:49:26 GMT]]></title><description><![CDATA[<p>_<em>et</em> schrieb:</p>
<blockquote>
<p>wenn ich für zwei Pointer <strong>operator==</strong> implementiere</p>
</blockquote>
<p>Das ist dann kein C++. Operatoren können nur überladen werden, wenn wenigstens ein Operand ein UDT ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1362781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1362781</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Mon, 10 Sep 2007 17:49:26 GMT</pubDate></item><item><title><![CDATA[Reply to == impliziert != on Mon, 10 Sep 2007 22:55:17 GMT]]></title><description><![CDATA[<p>Genau. Weiters kannst und musst du operator == und != einzeln/extra/getrennt überladen/definieren wenn du beide verwenden willst. D.h. wenn du nur == definierst dann gibt es auch nur ==.<br />
Operator != wird dann meist einfach so implementiert:</p>
<pre><code class="language-cpp">bool operator == (UDT const&amp; a, UDT const&amp; b)
{
    // ...
    // ...
    // ...
}
bool operator != (UDT const&amp; a, UDT const&amp; b)
{
    return !(a == b);
}
</code></pre>
<p>Und wenn du Operatoren für 2 unterschiedliche Typen definierst musst du auch beide Richtungen definieren:</p>
<pre><code class="language-cpp">bool operator == (UDT_A const&amp; a, UDT_B const&amp; b)
{
    // ...
}

bool x1 = UDT_A() == UDT_B(); // geht
bool x2 = UDT_B() == UDT_A(); // geht NICHT

bool operator == (UDT_B const&amp; b, UDT_A const&amp; a)
{
    return a == b;
}

bool x3 = UDT_B() == UDT_A(); // jetzt schon :)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1362908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1362908</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 10 Sep 2007 22:55:17 GMT</pubDate></item><item><title><![CDATA[Reply to == impliziert != on Tue, 11 Sep 2007 06:25:00 GMT]]></title><description><![CDATA[<p>Es reicht aber tatsächlich == und &lt; zu implementieren und dann die Header-Datei &lt;utility&gt; einzubinden.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1362972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1362972</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Tue, 11 Sep 2007 06:25:00 GMT</pubDate></item><item><title><![CDATA[Reply to == impliziert != on Tue, 11 Sep 2007 08:08:19 GMT]]></title><description><![CDATA[<p>... und den Namensraum std::rel_ops (oder so ähnlich) einzubinden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363038</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 11 Sep 2007 08:08:19 GMT</pubDate></item><item><title><![CDATA[Reply to == impliziert != on Tue, 11 Sep 2007 12:25:59 GMT]]></title><description><![CDATA[<p>... wenn die beiden Argumente vom gleichen Typ sind und die überladenen Operatoren &lt; und == per ADL hefunden werden können, das für die anderen Operatoren aber nicht notwendig ist. Gerade Letzteres macht diesen Teil der Standardbibliothek in meinen Augen weniger nützlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1363256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1363256</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 11 Sep 2007 12:25:59 GMT</pubDate></item></channel></rss>