0

最近、ポストインクリメントとプリインクリメントがどのように機能するかを理解しようとしてきましたが、考えすぎてしまいました。

「製品」は1回の繰り返しで25になりますか?

Product *=5++

そして、「商」は 1 回の繰り返しで 5/6 になりますか?

Quotient /= ++x
4

3 に答える 3

2

5++は間違っています。

Quotient /= ++x;と同じですx = x + 1; Quotient = Quotient / x;(これらは単純な数値であると仮定します)。

于 2013-12-15T00:28:05.813 に答える
1

組み込みのポストインクリメント演算子は左辺値にのみ適用される可能性がありますが、リテラル整数は右辺値であるため、コードは有効な C++ ではありません。

それに加えて、(組み込みの) プレインクリメント式の値はインクリメントされた値ですが、ポストインクリメント式の値は元の値です。

于 2013-12-15T00:28:30.290 に答える
0

プレインクリメントは、変数を変更し、変更された値に評価します。

後置インクリメントは、変数の値に評価されてから、変数をインクリメントします。

int a = 5;
int b = ++a; // a = a + 1; b = a
int c = a++; // c = a; a = a + 1

int の ++ のこれらの単純な実装を検討してください

int& int::preincrement()
{
    this->m_value += 1;
    return *this;
}

int int::postincrement()
{
    int before = this->m_value;
    this->m_value += 1;
    return before;
}
于 2013-12-15T00:52:15.577 に答える