为什么i ++和++我在swift2中产生相同的结果?

Car*_*ith -1 iphone ios swift swift2

我正在使用Swift2,我有这两个循环:

for var i: Int = 0; i < 4; i++ {
    print("the i = \(i)")
}

and 

for var i: Int = 0; i < 4; ++i {
    print("the i = \(i)")
}
Run Code Online (Sandbox Code Playgroud)

我在两者得到了完全相同的印刷品.告诉我为什么?

Rob*_*ert 11

i++++i做这种情况下,同样的事情; 增加i一个.它们之间的区别在于它们返回不同的值,这在循环中无关紧要,因为忽略了'increment'部分的返回值.

i++(称为'post-increment')返回增加i之前的值,而++i(称为'pre-increment')返回增量i 之后的值.例如:

var i = 1

print(i++) // Prints 1, i is now 2

print(++i) // Prints 3, i is now 3
Run Code Online (Sandbox Code Playgroud)

传统上,pre-increment(++i)稍快一些,因为它i在返回值时不必记住递增后的前一个值,但我怀疑现代编译器有什么不同.