問題タブ [pre-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.

0 投票する
6 に答える
33048 参照

c# - Pre- & Post Increment in C#

I am a little confused about how the C# compiler handles pre- and post increments and decrements.

When I code the following:

x will have the value 10 afterwards. I think this is because the pre-increment sets x to 5, which makes it 5+5 which evaluates to 10. Then the post-increment will update x to 6, but this value will not be used because then 10 will be assigned to x.

But when I code:

then x will be 2 afterwards. Can anyone explain why this is the case?

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

c - ++ nc vs nc = nc + 1

K&R Ch 1:

このステートメント++ncは、新しい演算子を示し++ます。これは、1ずつインクリメントすることを意味します。代わりに書くこともできますがnc = nc + 1++ncより簡潔で、多くの場合、より効率的です。

プレインクリメントが代替よりも効率的であるのはいつですか?ほとんどの場合、少なくとも、両方のアセンブリはadd(edit:またはinc)命令です。それらはいつ違いますか?

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

c++ - インクリメントはどのように機能しますか?

重複の可能性:
誰でもこれらの未定義の動作 (i = i++ + ++i 、i = i++ など) を説明できますか
? 未定義の動作とシーケンス ポイント

i++ は次の行で値を 1 ずつ増やし、同じ行で ++i を増やします
(間違っている場合は訂正してください)
。したがって、c のサンプル ステートメントは次のようになります。

予想される出力は次のようになるはずです1 , 1が、代わり に、値が既にインクリメントされている場合ではなく、印刷1 , 0 の2番目のリンクがなぜ行われるのかを推測するかもしれません 。i01

ポストインクリメントが同じ行で値をインクリメントしなかった場合、ポストインクリメントとプレインクリメントの違いは何ですか?
edit : 文法上の混乱を避けるために、変数の名前を i から a に変更しました。

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

c++ - インクリメント前後の説明

私はまだ初心者なので、私を気楽にさせて、私を撃たないでください。

私は完全に混乱していて、このコードを実行したときに理由を理解することはできません。

次の結果が得られます。

これらの結果の代わりに:

私がこのコードから得たもの:

結果をそのように出力するために、最初のコードで何が起こるかを(できるだけ簡単な言葉で)誰かが説明できますか?

0 投票する
10 に答える
1122 参照

c++ - インクリメント、プリインクリメント、ポストインクリメント

これを解決するのを手伝ってください。その式に続く手順は次のとおりです。

//手順:

1.- インクリメント m1

2.- temp1 を offSpring に割り当てます

カッコ内の表現が先だとずっと思っていました。しかし今、私は混乱しています。したがって、これを書く場合:

手順が最初の手順と同じである場合、i++ と ++i の違いは何ですか?

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

c++ - コンテキスト不変であるのに、教科書が「x++」よりも「++x」を好むのはなぜですか?

重複の可能性:
ループ内の i++ と ++i の違い?
C++ の i++ と ++i の間にパフォーマンスの違いはありますか?
C++ でのインクリメント - x++ または ++x をいつ使用するか?
値がステートメントの他の場所で使用されていない場合に、i++ の代わりに ++i を使用するのはなぜですか?

C++ の教科書では、事前/事後の性質が問題にならないコンテキストでこれが発生する場合++x よりも、書き込みが優先されるのはなぜですか?x++

一般的に、行動は目的語、動詞の順に与えられるようです

例えば:

foo.size()foo「動詞」を含む「オブジェクト」ですsize

a + b is 'object' a、動詞付き+

EXCEL では、常にオブジェクトを選択してから、アクション (動詞) を指定します。

注 : Lotus 1-2-3 は、動詞-目的語の順序で処理を行ったため、123 から XL への移行期にマッスル メモリーを開発した人々に大きな問題を引き起こしました...

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

java - Javaの前後のインクリメント

次のコードブロックを理解するのに問題があります。

私の理解では、ループは3回実行され、次のように実行されます。

最初のカウントは0であるため、これは次のように変換されます。

出力は以下のとおりで、カウントは0として出力されます。

誰かが私にこれを説明できますか?ありがとう

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

c++ - 代入有効な C++ の右側でプリデクリメント演算子を使用していますか?

++ や -- は、それ自体の行以外にはほとんど入れません。それらが未定義の動作につながる可能性があり、デバッグにとって地獄になる可能性があることはわかっています。しかし、冗長な目的のために、私は誘惑されます。これは有効なコードですか?

やりたいだけ

operator-()ただし、双方向イテレータは定義されていません。

ありがとう!

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

c - ポインターのインクリメントと逆参照 (左辺値が必要なエラー)

ポインターのインクリメントと逆参照がどのように連携するかを理解しようとしています。これを試してみました。

私は、このコードが次のいずれかを実行することを期待していました。

  1. 最初に逆参照してからポインターを増やします (word1 を出力します)
  2. 最初に逆参照してから値を増やします (ord1 を出力)
  3. 逆参照ポインタ + 1 (word2 の出力)

しかし、コンパイラはこれをコンパイルすることさえせず、このエラーを出します:lvalue required as increment operandここで何か間違ったことをしていますか?