問題タブ [post-increment]
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.
c++ - C++の特殊なケースをオーバーロードするunary演算子
++,--
単項postfix/prefix演算子を完全にオーバーロードして成功し、コードは正常に機能しますが、(++obj)++
ステートメントを使用すると予期しない結果が返されます
ここにコードがあります
解決策や理由がありますか?
c - Cのポストインクリメントおよびプレインクリメント演算子
kがインクリメントされないのに、iとjが同じ式でインクリメントされるのはなぜですか。また、プログラムの出力を知りたいのですが、出力は-2 310として取得されます。
c++ - y=x++ のプリミティブステップはいくつですか?
CPUレベルや命令ではなく、最適化なしでコンパイラレベルで何ステップで壊れますか? x を y に割り当てるために一時的に作成されますか、それとも直接発生しますか?
java - ポストインクリメントがラッパークラスで機能する理由
私はいくつかのコードのレビューを行っていて、Integer のラッパー クラスであるメンバー変数をポストインクリメントしている誰かのインスタンスに出くわしました。私は自分でそれを試してみましたが、それが機能することに本当に驚きました.
これは 、私が期待したもの0, 1
ではありません。0, 0
言語仕様を調べましたが、これをカバーするものは見つかりません。これが機能する理由と、複数のプラットフォーム間で安全であるかどうかを誰かに説明できますか? 私はこれが分解されると思っていたでしょう
x = temp1;
しかし、どうやら仕様には最終行の前に追加する何かがあるようです
c# - ++演算子がオーバーロードされているときに、++fooとfoo++に違いがないのはなぜですか?
重複の可能性:
ポストインクリメント演算子のオーバーロード
なぜPostfix ++ / —がC#のプライマリ演算子として分類されるのですか?
++
と--
演算子をオーバーロードできることを確認しました。通常、これらの演算子は2つの方法で使用します。intのインクリメント/デクリメントの前後の例:
ただし、演算子のオーバーロードに関しては、状況が少し異なります。
私の質問は、これらの最後の2行が同じものを出力するのはなぜですか?さらに具体的には、(2つの)最初の行が出力されるのはなぜflying
ですか?
解決策は、演算子のオーバーロードを次のように変更することです。
java - a += a++ * a++ * Java の a++。どのように評価されますか?
このWebサイトでこの問題に遭遇し、Eclipseで試しましたが、それらがどのように評価されているか正確に理解できませんでした。
ウェブサイトのコメントによると、 x += x++ * x++ * x++ は x = x+((x+2)*(x+1)*x) に解決され、これは真であることが判明しました。この演算子の優先順位について何かが欠けていると思います。
javascript - 関数のプロパティが適切に増加していませんか?
私はいくつかのさまざまなJavaScriptテクニック、つまり関数プロパティを練習しています。これが私の頭を少し引っ掻くようなものです。
関数への最初の呼び出しは1を返すべきではありませんか?なぜ0を返すのですか?q0.uniqueはすでに0に設定されていますか?
python - 整数を1項および3項演算子でインクリメントします
私はPythonを初めて使用しますが、Pythonで次のCイディオムを実行するにはどうすればよいですか?
ありがとうございました。
java - Math.min()でのポストインクリメント演算子の興味深い動作
質問があります、で、
より緊密にバインドJava
しますか?
例を挙げて説明しましょう。誰かが私が得た結果を得る理由を説明してくれるかもしれません。Math.min
++
これが私が実行するメソッドです:
結果は次のとおりです。
私が書いた行では、//x=10 WHY NOT x=11?
なぜx
11ではなく10なのか疑問に思います。誰かが私にこれを説明できるかもしれません。
を実行するために使用する(現時点では10)Math.min
のコピーを作成するように見えます。次に、オリジナルは10から11にインクリメントされますが、まだ10であるコピーが出てきて、インクリメントされたものを上書きします。 x
Math.min
x
Math.min
これは意味がありますか?この場合、xが11ではなく10である理由について誰かが説明していますか?
ありがとう
PS- Javaでポストインクリメント(i ++)およびプレインクリメント(++ i)演算子がどのように機能するかを完全に理解していますか?