C++の場合、演算子の種類には==
と!=
の演算子がオーバーロードされることがあります。あなたは何も関係なくtrue
を返すように両方をオーバーロードすることができるので、!(a==b)
と(a!=b)
は必ずしも同じものに評価する必要はありません。 ¬(a = b)
と(a ≠ b)
が異なる言語がいくつありますか?それは共通のものですか?¬(a = b)と(a≠b)が異なる言語
これは単なる過負荷の問題ではありませんが、プリミティブ型であっても奇妙なコーナーケースがあります。 CおよびC++のNaNは、NaNを含むすべてのものと同等ではありません。 CでNaN!= NaNが成り立つのは事実ですが、他の言語でも同様のケースがあり、¬(a = b)
と(a ≠ b)
が異なる場合がありますか?
あなたがC++でそれを行うことができたからといって、これまでにないことを意味するわけではありません... – corsiKa
私はあなたがRubyでそれを行うことができることを知っています! – Arth
私は==または!=演算子のいずれかをオーバーロードすることができる任意の言語を追加することもできます。それともあまりにもobvですか? – Arth