問題タブ [operator-overloading]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2836 参照

c# - C# の演算子メソッドのメソッド名

C#/CLR が演算子に与える名前の完全なリストを持っている人はいますか? (私の睡眠不足が影響しているのかもしれませんが、Google で見つけられないようです) 例: op_Addition、op_Subtraction。さらに、これらが他の文化で異なる​​可能性はありますか?

2 つのオブジェクトを加算/減算できるクラスを作成しようとしていますが、すべてのプリミティブを実行しました。あとは「残り」を実行するだけです。

どうもありがとう。

0 投票する
4 に答える
290 参照

c++ - ブール演算子をオーバーロードしたライブラリはありますか?

悪であると言われているブール演算子をオーバーロードするライブラリ/コードを見たことがありますか? ユーザーにどのような利点がありますか?

0 投票する
3 に答える
16976 参照

c# - インクリメント後の演算子のオーバーロード

C# でポスト インクリメント演算子をオーバーロードしようとすると問題が発生します。整数を使用すると、次の結果が得られます。

でも、クラスでやってみるとオブジェクトが入れ替わっているように見えます。

アプリケーションをデバッグすると、オーバーロードされたオペレーター メソッドは古い値 (10) を持つ新しいオブジェクトを返し、参照によって渡されたオブジェクトは新しい値 (11) を持ちますが、最終的にオブジェクトが交換されます。なぜこうなった?

0 投票する
5 に答える
75147 参照

c++ - 仮想代入演算子 C++

C++ の代入演算子は仮想化できます。なぜそれが必要なのですか?他のオペレーターも仮想化できますか?

0 投票する
11 に答える
11292 参照

delphi - Delphi で TDateTime を Const として宣言する

私の知る限り、これを行う方法はありませんが、他の誰かがこれを行う方法を知っている場合に備えて質問します. Delphiで日付をconstとして宣言するにはどうすればよいですか?

私が見つけた唯一の解決策は、同等の数値を使用することです。これは、人間が判読できないため、維持するのが面倒です。

私ができるようにしたいのは、次のようなものです。

また

それで、これが機能のリクエストなのか、それとも単にこれを行う方法を忘れたのかを教えてください (ええ、それが欲しいのは奇妙なことのように思えます. . . .)

0 投票する
4 に答える
2922 参照

c++ - メモリ割り当てによる演算子のオーバーロード?

以下の文は、Bruce Eckel によるThe Positive Legacy of C++ and Javaからの、C++ での演算子のオーバーロードに関するものです。

C++ にはスタック割り当てとヒープ割り当ての両方があり、演算子をオーバーロードしてすべての状況を処理し、メモリ リークを引き起こさないようにする必要があります。確かに難しい。

演算子のオーバーロードがメモリ割り当てとどのように関係しているのかわかりません。それらがどのように相関しているかを誰か説明できますか?

0 投票する
9 に答える
1453 参照

c++ - 2D 行列と operator() のオーバーロード / 醜い構文

プロジェクトの 1 つで 2D マトリックスを使用しています。C++ FAQ Liteで提案されているようなものです。

きちんとしたことは、次のように使用できることです。

今、頂点で構成されたグラフがあり、各頂点には、上記のような 2D マトリックスへのパブリック (例を簡単にするため) ポインターがあります。今、私はそれにアクセスするためのかなり醜い構文を持っています。

おそらく、演算子のオーバーロードに慣れていないため、ここでいくつかの構文糖衣が欠けています。より良い解決策はありますか?

0 投票する
5 に答える
1412 参照

c++ - C ++でクラスベースの優先度キューを実装するときにoperator <をオーバーロードする必要があるのはなぜですか?

注意してください、私は答えを求めていません。なぜ物事が機能するのかについて単純に興味があります

クラス割り当て用のプリンター シミュレーターの優先キューを実装する必要があります。インターネットで例を見た後、優先キューを正しく配置するために operator< がオーバーロードされていることに気付きました。

問題のコード: java2s プライオリティ キューの例

operator< をオーバーロードする必要があるのはなぜですか? 比較を行うために「<」はどこで使用されていますか? 演算子のオーバーロードを実装すると、キュー STL の動作が変わりますか?

この実装は、私にはまったく直感的ではないように思えます。代わりに operator> がオーバーロードされていないのはなぜですか? priority_queue が正しく機能するために operator< をオーバーロードする必要があることをどのように学習すればよいでしょうか?

0 投票する
3 に答える
13256 参照

c# - C#:暗黙の演算子と拡張メソッド

PredicateBuilder<T>をラップし、さまざまなメソッドを使用して式を簡単に作成するためのいくつかのメソッドを提供するクラスをExpression<Func<T, bool>>作成しようとしています。これを直接使ってみたらかっこいいなぁと思い、メソッドを持っていればできると思いました。AndOrPredicateBuilder<T>Expression<Func<T, bool>>implicit operator

クラスの簡略版は次のようになります。

次に、テストとして、静的クラスにこの拡張メソッドがあります。

私の頭の中で、私はこれらを行うことができるはずです:

ただし、いずれも機能しません。最初のものについては、拡張メソッドが見つかりません。そして第二に、それはそれを言います

メソッド'ExtravagantExpressions.PredicateHelper.PrintExpression(System.Linq.Expressions.Expression>)'の型引数は、使用法から推測できません。タイプ引数を明示的に指定してみてください。

だから私は以下を試しました、それはうまくいきました:

もちろん、これは機能します。

しかし、ええ...なぜ他の人は働かないのですか?私はこれがどのように機能するかについて何か誤解しましたかimplicit operator

0 投票する
4 に答える
5833 参照

c++ - 異なる型の C++ 対称二項演算子

私は C++ を学んでおり、2 つの異なる型のインスタンスで機能する二項演算子を作成する好ましい方法について、ある程度の洞察を得ることができるかどうか疑問に思っていました。以下は、私の懸念を説明するために作成した例です。

2 つのタイプの間で対称性を持たせたい場合、上記のコードではどちらの方法が最適な方法でしょうか。ある方法を他の方法よりも優先して選択することに危険はありますか? これは戻り値の型によって異なりますか? 説明してください!ありがとうございました!