問題タブ [operator-keyword]

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 投票する
1 に答える
142 参照

c++ - オーバーロードされたプライベート & 演算子を使用してクラスへの参照を返しますか?

プライベートなオーバーロードされた & 演算子を持つ Property というクラス (外部ライブラリから == は変更できません) を取得しました。このクラスを別のクラスでプロパティとして使用していますが、(健全性の理由から) Get メソッドを使用してこのプロパティへの参照を返したいと考えています。ただし、「クラスで宣言されたプライベートメンバーにアクセスできません」というエラーが表示され、処理できません。プロパティを公開せずに、それを回避する方法はありますか。

0 投票する
1 に答える
3624 参照

c++ - ペアの 1 つの要素により小さい演算子を提供する

次のコードを修正する最もエレガントな方法は次のとおりです。

それを修正する 1 つの方法は、less< の定義を名前空間 std に移動することです (私は知って  いますが、そうすることは想定されていません。 )

別の明白な解決策は、ペア < int、area_t > に対して less than< を定義することですが、それを避けて、定義されていないペアの 1 つの要素に対してのみ演算子を定義できるようにしたいと考えています。

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

c++ - printf の引数としてのユーザー定義の変換演算子

TCHAR* のユーザー定義演算子を定義したクラスがあります。

みたいなことができるようになりたい

あるいは

しかし、試してみると、printf は常に値の代わりに (null) を出力します。また、通常の char* 演算子や、const などのバリエーションも試しました。演算子を明示的に呼び出すか、次のようにキャストした場合にのみ正しく機能します。

しかし、私はキャストしたくありません。これはどのように達成できますか?

const TCHAR* のパラメーターを持つ関数を作成して、演算子 TCHAR* を強制的に呼び出す可能性があることに注意してください。ただし、これも実装したくありません。

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

c++ - 下付き文字としてのOperator()(C ++)

次のように、operator()を添え字演算子として使用します。

値を取得すると機能しますが、を使用して値を割り当てて書き込もうとするとエラーが発生します

UPD:エラーテキスト:

CG.exeの0x651cf54a(msvcr100d.dll)で未処理の例外:0xC0000005:アクセス違反の読み取り場所0xccccccc0。

0 投票する
1 に答える
1765 参照

vb.net - 'Is' VB.NETキーワードはObject.ReferenceEqualsと同じですか?

IsVB.NETキーワードはObject.ReferenceEqualsと同じですか?

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

c# - ブール演算子を定義する代わりに、なぜtrueとfalseをオーバーロードするのですか?

私はC#でtrueとfalseをオーバーロードすることについて読んでいますが、これとbool演算子の定義の基本的な違いを理解していると思います。私が見ている例は次のようなものです。

私にとって、これは次のように言うのと同じです。

私が知る限り、違いは、trueとfalseを別々に定義することにより、trueとfalseの両方、またはtrueとfalseのどちらでもないオブジェクトを持つことができるということです。

これが許可される理由は確かにありますが、私はそれが何であるかを考えることができません。私にとって、オブジェクトをtrueまたはfalseに変換できるようにする場合は、単一のブール演算子が最も理にかなっています。

誰かが私にそれを他の方法で行うことが理にかなっているシナリオを与えることができますか?

ありがとう

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

c# - C#メモリ割り当て

  • C#で新しい演算子を使用すると失敗する可能性がありますか(たとえば、大きなメモリが必要な場合)?-解決済み-
  • そしてそれを発見する方法は?-解決済み-
  • 新しいオペレーターがスローする可能性のある他の障害は何ですか?

ありがとう

0 投票する
2 に答える
5578 参照

c++ - 演算子<<オーバーロード

<<演算子をオーバーロードしようとしています。私も良いコーディングを練習しようとしています。しかし、using名前空間stdのコメントを外さない限り、私のコードはコンパイルされません。私はこのエラーを受け取り続けます、そして私は知りません。g++コンパイラを使用しています。

名前空間stdを使用せずに<<演算子をオーバーロードする正しい方法を誰かに教えてもらえますか?

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

java - 演算子とメソッドの違いは何ですか?

Javaの演算子とメソッドの評価ルールの違いは何ですか?

0 投票する
12 に答える
630 参照

programming-languages - What division operator symbol would you pick?

I am currently designing and implementing a small programming language as an extra-credit project in a class I'm taking. My problem is that the language has three numeric types: Long, Double, and Fraction. Fractions can be written in the language as proper or improper fractions (e.g. "2 1/3" or "1/2"). This fact leads to problems such as "2/3.5" (Long/Double) and "2/3"(Long/Long) not being handled correctly by the lexer.The best solution that I see is to change the division operator. So far, I think "\" is the best solution since "//" starts comments.

Would you pick "\", if you were designing the language?

Would you pick something else? If so, what?

Note: changing the way fractions are written is not possible.

Thanks in advance for your help,

-EDIT-

Current operators are:

** (power)

* (multiply)

% (modulus)

+ (add)

- (subtract and negation)

~ (reciprocal)

! (NOT)

> (greater)

< (less)

>= (greater-equal)

<= (less-equal)

== (equality)

<> (inequality)

& (AND)

| (OR)

^ (XOR)

?? (null-coalesing)

= (assignment)

Note: I am under no strictly binding demands by my teacher; however, I basically convinced him that I could turn a simple fraction calculator into a language. Changing the fraction's syntax would go against the fraction calculator's syntax for fractions, which is preferably avoided.