递增/递减与加法/减法赋值运算符?

时间:2011-05-07 06:23:19

标签: objective-c operators

免责声明:我是一个相当新的编程,所以这个问题可能很愚蠢。

过去,每当我想增加或减少整数时,我都会使用integer++integer--。但是,在阅读了更多编程书籍之后,我发现了运算符+=-=(经过进一步研究,我发现它们被称为加法和减法赋值运算符)。

显然,赋值运算符最强大,因为您可以改变想要增加或减少整数的数量。我想知道的是:使用integer++integer += 1有什么好处或不利之处?

3 个答案:

答案 0 :(得分:17)

整数++实际上比你想象的要多一点。

在整数之后的

'++'返回整数的值,然后递增整数:

int i = 5;
int a = i++; 
//a is now 5
//i is now 6.
i++;
//i iw now 7

你也可以做++整数,它首先递增整数,然后返回值。

int i = 5;
int a = ++i;
//i and a are now 6.

哪个运营商更好?这取决于个人喜好。 Sven在评论中指出两个函数都会输出几乎相同的指令。

(我所说的一切也适用于 - )

答案 1 :(得分:1)

++someIntegersomeInteger += 1完全相同,第一种只是编写第二种方式的较短方式。如果你在表达式中使用它,那么someInteger++++someInteger之间存在差异,正如Roy T.指出的那样。

但是你真的不应该考虑这个问题,只需使用对你来说更自然的东西。这无疑对性能无关。

答案 2 :(得分:0)

另外,只需添加到这个线程......在某些情况下,你也可能会发现做整数++而不是整数++是有用的(方便)。

请注意,当您在for循环中使用时,整数++或++整数不起作用。