我最近一直在尝试了解后期和前期增量是如何工作的,但我已经想太多了。
一次迭代后“产品”是否变为 25?
Product *=5++
并且“商”是否在一次迭代后变为 5/6?
Quotient /= ++x
我最近一直在尝试了解后期和前期增量是如何工作的,但我已经想太多了。
一次迭代后“产品”是否变为 25?
Product *=5++
并且“商”是否在一次迭代后变为 5/6?
Quotient /= ++x
5++
只是不正确。
Quotient /= ++x;
与x = x + 1; Quotient = Quotient / x;
(假设这些只是普通数字)相同。
您的代码不是有效的 C++,因为内置的后增量运算符只能应用于左值,但文字整数是右值。
除此之外,(内置)前增量表达式的值是增量值,而后增量表达式的值是原始值。
预增量修改变量并计算修改后的值。
后增量计算变量的值,然后递增变量。
int a = 5;
int b = ++a; // a = a + 1; b = a
int c = a++; // c = a; a = a + 1
考虑一下 ++ for int 的这些简单实现
int& int::preincrement()
{
this->m_value += 1;
return *this;
}
int int::postincrement()
{
int before = this->m_value;
this->m_value += 1;
return before;
}