可能重复:
Difference between i++ and ++i in a loop?后缀和前缀增量运算在for循环中
谁能解释什么是那些之间的区别:
for(unsigned col = 0; col < n; ++col, num_to_fill >>= 1U)
{
for(unsigned row = num_to_fill; row < (1U << n); row += (num_to_fill * 2))
{
std::fill_n(&output[col][row], num_to_fill, 1);
}
}
和
for(unsigned col = 0; col < n; col++, num_to_fill >>= 1U)
{
for(unsigned row = num_to_fill; row < (1U << n); row += (num_to_fill * 2))
{
std::fill_n(&output[col][row], num_to_fill, 1);
}
}
当col=0
,在例1中Output[col][row]
将是output[1][row]
和在例2中Output[col][row]
将是output[0][row]
。我对吗 ?
问题2:使用而不是/= 2
会有什么区别吗?
如果我没有记错,在这种情况下,它没有任何区别。当使用变量作为“R-Value”时,它确实有所作为:'a = b ++;'或'a = ++ b;' – 2010-08-22 12:07:00
对于这个问题,答案大多不正确,Greg。他们回答什么是post和pre incrementation,不是**他们是如何在一个循环中工作的 - 事实上许多人都误导他们,他们运用它确实有所作为,因为他们的循环使用了误导语法('int i = 0; foreach(randomOtherThing in randomOtherThings)'......) – Stephen 2010-08-22 12:14:26
好的。第二个问题呢? – Ahmed 2010-08-22 12:14:48