我一直试图了解帖子和预增量最近是如何工作的,而且我已经过度思考了。
"产品"一次迭代后变成25?
Product *=5++
" Quotient"一次迭代后变为5/6?
Quotient /= ++x
提前谢谢。
答案 0 :(得分:2)
5++
是不正确的。
Quotient /= ++x;
与x = x + 1; Quotient = Quotient / x;
相同(假设这些只是普通数字)。
答案 1 :(得分:1)
您的代码无效C ++,因为内置的后增量运算符只能应用于左值,但是字面整数是右值。
除此之外,(内置)预增量表达式的值是递增值,而后增量表达式的值是原始值。
答案 2 :(得分: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;
}