<?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überladung ja&#x2F;nein?]]></title><description><![CDATA[<p>Siehe: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-157551-and-start-is-10.html" rel="nofollow">Paar allgemeine Fragen zu Java <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="🙂"
    /></a></p>
<p>Gerard schrieb:</p>
<blockquote>
<p>&lt;&lt; und &gt;&gt; für streams</p>
</blockquote>
<p>Das hat sich vielleicht in C++ eingebürgert und das will ich auch gar nicht als schlecht darstellen, aber in anderen Sprachen gibt es einfach eine andere Streaming API. Nur weil es in C++ gängige Praxis ist, heißt das nicht, dass man das als Argument für Operatorenüberladung anführen kann.</p>
<p>Gerard schrieb:</p>
<blockquote>
<p>== != für alles mögliche</p>
</blockquote>
<p>Auch bei diesem Argument gehst du wieder von C++ als &quot;Referenzmodell&quot; für Operatorenüberladung aus. In Java gibt es nunmal einen Unterschied zwischen Identität und Gleichheit, da wäre eine Überladung eher kontraproduktiv.</p>
<p>Gerard schrieb:</p>
<blockquote>
<p>+ += für string-änliche klassen</p>
</blockquote>
<p>Mir fallen eigentlich relativ wenige Beispiele für string-ähnliche Klassen ein, höchstens StringBuffer und StringBuilder, bzw. analoge Klassen in anderen Sprachen. In diesem Fall kann ich auch mit einer append Methode, die sich wiederholt aufrufen lässt ganz gut leben.</p>
<p>Gerard schrieb:</p>
<blockquote>
<p>= für schnelle copy construktoren</p>
</blockquote>
<p>Den = Operator in Java überladen zu können, wäre mehr als nur ein Verbrechen ..</p>
<p>Zusammenfassend möchte ich noch erwähnen, dass ich deine Argumente für richtig und gültig ansehe, wenn man von C++ ausgeht. Sie lassen sich aber nicht zwangsweise auf andere Sprachen umlegen. In C++ finde ich Operatorenüberladung durchaus angebracht, wenn es auch besser gemacht hätte werden können (siehe C#), aber z.B: in Java (und in C# eigentlich auch) absolut nicht.</p>
<p><em>Ich denke es sollte durchaus ersichtlich sein, dass ich keinen Flamewar führen oder Trolle anlocken will, sondern eben lediglich nur diskutieren.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/157607/operatorenüberladung-ja-nein</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Apr 2026 08:41:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/157607.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 27 Aug 2006 20:33:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operatorenüberladung ja&#x2F;nein? on Sun, 27 Aug 2006 20:33:39 GMT]]></title><description><![CDATA[<p>Siehe: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-157551-and-start-is-10.html" rel="nofollow">Paar allgemeine Fragen zu Java <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="🙂"
    /></a></p>
<p>Gerard schrieb:</p>
<blockquote>
<p>&lt;&lt; und &gt;&gt; für streams</p>
</blockquote>
<p>Das hat sich vielleicht in C++ eingebürgert und das will ich auch gar nicht als schlecht darstellen, aber in anderen Sprachen gibt es einfach eine andere Streaming API. Nur weil es in C++ gängige Praxis ist, heißt das nicht, dass man das als Argument für Operatorenüberladung anführen kann.</p>
<p>Gerard schrieb:</p>
<blockquote>
<p>== != für alles mögliche</p>
</blockquote>
<p>Auch bei diesem Argument gehst du wieder von C++ als &quot;Referenzmodell&quot; für Operatorenüberladung aus. In Java gibt es nunmal einen Unterschied zwischen Identität und Gleichheit, da wäre eine Überladung eher kontraproduktiv.</p>
<p>Gerard schrieb:</p>
<blockquote>
<p>+ += für string-änliche klassen</p>
</blockquote>
<p>Mir fallen eigentlich relativ wenige Beispiele für string-ähnliche Klassen ein, höchstens StringBuffer und StringBuilder, bzw. analoge Klassen in anderen Sprachen. In diesem Fall kann ich auch mit einer append Methode, die sich wiederholt aufrufen lässt ganz gut leben.</p>
<p>Gerard schrieb:</p>
<blockquote>
<p>= für schnelle copy construktoren</p>
</blockquote>
<p>Den = Operator in Java überladen zu können, wäre mehr als nur ein Verbrechen ..</p>
<p>Zusammenfassend möchte ich noch erwähnen, dass ich deine Argumente für richtig und gültig ansehe, wenn man von C++ ausgeht. Sie lassen sich aber nicht zwangsweise auf andere Sprachen umlegen. In C++ finde ich Operatorenüberladung durchaus angebracht, wenn es auch besser gemacht hätte werden können (siehe C#), aber z.B: in Java (und in C# eigentlich auch) absolut nicht.</p>
<p><em>Ich denke es sollte durchaus ersichtlich sein, dass ich keinen Flamewar führen oder Trolle anlocken will, sondern eben lediglich nur diskutieren.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1125723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1125723</guid><dc:creator><![CDATA[qwerty&#96;]]></dc:creator><pubDate>Sun, 27 Aug 2006 20:33:39 GMT</pubDate></item><item><title><![CDATA[Reply to Operatorenüberladung ja&#x2F;nein? on Sun, 27 Aug 2006 20:55:48 GMT]]></title><description><![CDATA[<p>Im Grunde hat der unreg ja Recht.<br />
Durch Operatoüberladung kann man sehr viel Misst bauen.<br />
ZB bei == und != muss man dann immer aufpassen, ob jetzt der &quot;normale&quot; == != Operator benutzt wird oder ob aufeinmal equals() aufgerufen wird.</p>
<p>Operatorüberladung hat eigentlich nur bei mathematischen Klassen einen echten Pluspunkt. Man erspart sich die Methodennamen und gewinnt so einiges an Übersichtlichkeit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1125742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1125742</guid><dc:creator><![CDATA[DEvent]]></dc:creator><pubDate>Sun, 27 Aug 2006 20:55:48 GMT</pubDate></item><item><title><![CDATA[Reply to Operatorenüberladung ja&#x2F;nein? on Sun, 27 Aug 2006 21:02:05 GMT]]></title><description><![CDATA[<blockquote>
<p>Durch Operatoüberladung kann man sehr viel Misst bauen.</p>
</blockquote>
<p>Das schlimmste Beispiel für einen Missbrauch von Operatoren finde ich, ist ein Event in C# zu abonnieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1125748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1125748</guid><dc:creator><![CDATA[qwerty&#96;]]></dc:creator><pubDate>Sun, 27 Aug 2006 21:02:05 GMT</pubDate></item><item><title><![CDATA[Reply to Operatorenüberladung ja&#x2F;nein? on Sun, 27 Aug 2006 21:25:15 GMT]]></title><description><![CDATA[<p>Operatorenüberladung is gut und sinnvoll.</p>
<p>Nur weil es in Java nicht möglich ist, sind Java progger dagegen. Das ist die realität.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1125763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1125763</guid><dc:creator><![CDATA[sdfdsf]]></dc:creator><pubDate>Sun, 27 Aug 2006 21:25:15 GMT</pubDate></item><item><title><![CDATA[Reply to Operatorenüberladung ja&#x2F;nein? on Sun, 27 Aug 2006 21:33:28 GMT]]></title><description><![CDATA[<p>sdfdsf schrieb:</p>
<blockquote>
<p>Operatorenüberladung is gut und sinnvoll.</p>
<p>Nur weil es in Java nicht möglich ist, sind Java progger dagegen. Das ist die realität.</p>
</blockquote>
<p>Es gibt für Java Präprozessoren, die einem Operatorüberladung ermöglichen. Die werden aber kaum genutzt. Grund: Das interessiert einfach fast keinen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1125771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1125771</guid><dc:creator><![CDATA[Gregor]]></dc:creator><pubDate>Sun, 27 Aug 2006 21:33:28 GMT</pubDate></item><item><title><![CDATA[Reply to Operatorenüberladung ja&#x2F;nein? on Sun, 27 Aug 2006 21:47:40 GMT]]></title><description><![CDATA[<p>Gregor schrieb:</p>
<blockquote>
<p>Es gibt für Java Präprozessoren, die einem Operatorüberladung ermöglichen. Die werden aber kaum genutzt. Grund: Das interessiert einfach fast keinen.</p>
</blockquote>
<p>Das sagt aber mehr ueber Praeprozessoren als ueber Operatorueberladung aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1125787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1125787</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Sun, 27 Aug 2006 21:47:40 GMT</pubDate></item><item><title><![CDATA[Reply to Operatorenüberladung ja&#x2F;nein? on Mon, 28 Aug 2006 04:50:52 GMT]]></title><description><![CDATA[<p>qwerty` schrieb:</p>
<blockquote>
<p>Gerard schrieb:</p>
<blockquote>
<p>== != für alles mögliche</p>
</blockquote>
<p>Auch bei diesem Argument gehst du wieder von C++ als &quot;Referenzmodell&quot; für Operatorenüberladung aus. In Java gibt es nunmal einen Unterschied zwischen Identität und Gleichheit, da wäre eine Überladung eher kontraproduktiv.</p>
</blockquote>
<p>Suuuuuuuuuper! In Java gibt es halt keine Pointer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1125845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1125845</guid><dc:creator><![CDATA[:rolleyes:]]></dc:creator><pubDate>Mon, 28 Aug 2006 04:50:52 GMT</pubDate></item><item><title><![CDATA[Reply to Operatorenüberladung ja&#x2F;nein? on Mon, 28 Aug 2006 06:39:15 GMT]]></title><description><![CDATA[<p>Java geht halt eine klare Linie und realisiert die gleiche Semantik objektorientiert mit Methoden und Interfaces. Operatoren wirken ausschließlich auf primitive Datentypen, alles weitere sind Objekte und die werden auch so behandelt. Ich stimme DEvent aber vollkommen zu, bei mathematischen Klassen ist so eine Operatorüberladung hinsichtlich der Übersichtlichkeit schon praktisch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1125862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1125862</guid><dc:creator><![CDATA[byto]]></dc:creator><pubDate>Mon, 28 Aug 2006 06:39:15 GMT</pubDate></item><item><title><![CDATA[Reply to Operatorenüberladung ja&#x2F;nein? on Mon, 28 Aug 2006 08:26:10 GMT]]></title><description><![CDATA[<p>byto schrieb:</p>
<blockquote>
<p>...bei mathematischen Klassen ist so eine Operatorüberladung hinsichtlich der Übersichtlichkeit schon praktisch.</p>
</blockquote>
<p>Und bei Iteratoren die Operatoren ++, */-&gt; und &amp;, damit sie sich wie Zeiger &quot;anfühlen&quot; und man damit Arithmetik machen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1125911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1125911</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Mon, 28 Aug 2006 08:26:10 GMT</pubDate></item><item><title><![CDATA[Reply to Operatorenüberladung ja&#x2F;nein? on Mon, 28 Aug 2006 09:43:40 GMT]]></title><description><![CDATA[<p>qwerty` schrieb:</p>
<blockquote>
<p>Gerard schrieb:</p>
<blockquote>
<p>== != für alles mögliche</p>
</blockquote>
<p>Auch bei diesem Argument gehst du wieder von C++ als &quot;Referenzmodell&quot; für Operatorenüberladung aus. In Java gibt es nunmal einen Unterschied zwischen Identität und Gleichheit, da wäre eine Überladung eher kontraproduktiv.</p>
</blockquote>
<p>Ich greife das mal exemplarisch heraus. Die Argumentation geht aber bei einigen späteren Argumenten analog.<br />
[/quote]</p>
<p>Auch in C++ gibt es einen Unterschied zwischen Identität und Gleichheit. Wenn ich die Pointer vergleiche, dann Identität, wenn ich die Objekte vergleiche, dann die Gleicheit. Das Problem ist eher, daß es in Java nur Pointer gibt (Referenzen sind C++-Pointer mit dem Vorteil, daß sie nicht wild sein können), für die kann man Operatoren in C++ übrigens auch nicht überladen.</p>
<p>In Java gibt es keine Ausdrücke, die als Wert ein Objekt liefern. Immer nur die Referenz auf das Objekt. Deshalb würde eine Operatorenüberladung die Semantik tatsächlich zu stark verwischen. Da in C++ das aber getrennt ist, kann man das da schön machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1125959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1125959</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Mon, 28 Aug 2006 09:43:40 GMT</pubDate></item><item><title><![CDATA[Reply to Operatorenüberladung ja&#x2F;nein? on Mon, 28 Aug 2006 09:40:59 GMT]]></title><description><![CDATA[<p>Jester schrieb:</p>
<blockquote>
<p>Auch in C++ gibt es einen Unterschied zwischen Identität und Gleichheit. Wenn ich die Pointer vergleiche, dann Identität, wenn ich die Objekte vergleiche, dann die Identität.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1125964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1125964</guid><dc:creator><![CDATA[ne is klar]]></dc:creator><pubDate>Mon, 28 Aug 2006 09:40:59 GMT</pubDate></item><item><title><![CDATA[Reply to Operatorenüberladung ja&#x2F;nein? on Mon, 28 Aug 2006 09:44:10 GMT]]></title><description><![CDATA[<p>Danke für den Hinweis auf den Tippfehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1125965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1125965</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Mon, 28 Aug 2006 09:44:10 GMT</pubDate></item><item><title><![CDATA[Reply to Operatorenüberladung ja&#x2F;nein? on Mon, 28 Aug 2006 10:06:14 GMT]]></title><description><![CDATA[<p>bitte bitte ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1125979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1125979</guid><dc:creator><![CDATA[ne is klar]]></dc:creator><pubDate>Mon, 28 Aug 2006 10:06:14 GMT</pubDate></item></channel></rss>