之间有什么区别
for (int i = 0; i < MAX; i++)
{
//...do something
}
和
for (int i = 0; i < MAX; ++i)
{
//...do something
}
答案 0 :(得分:5)
什么都没有。增量是一个单独的语句,因此无论是预先递增还是后递增都无关紧要。
答案 1 :(得分:2)
如果您关心复合语句中某个变量的值,则后增量和前增量运算符很重要。独立增量语句,作为for循环的第三个子句,不受您选择的前置或后置的影响。
int j = i++;
和int j = ++i;
非常不同。您想要i
的当前值还是想要增加i
的值?在for循环示例中,只要递增就不在乎。
答案 2 :(得分:1)
唯一重要的是,即使你指定了i ++,优化器也不够聪明,无法意识到它可以执行++ i。 (这在现代编译器中不太可能。)
你可以识别真正的老程序员,因为他们总是使用++ i,除非他们需要使用i ++,因为曾经有一段时间编译器不那么聪明。