我理解普通C中前缀和后缀表示法之间的区别。
然而,我想知道相同的规则是否适用于Objective-C方法调用,如
[myObject foo:++i];
和
[myObject foo:i++];
或者“内部C表达式”总是先评估,这两个方法调用会产生相同的结果吗?
答案 0 :(得分:4)
是的,适用相同的规则。 Obj-c是c的严格超集,因此在c中工作的所有东西在Objective-c中都可以完全相同。
++i
在调用方法之前会增加i
,因此这两个方法不会产生相同的结果(假设,当然,结果取决于i
的值)。一个在i
递增后调用,另一个在之前调用。
答案 1 :(得分:2)
为什么不尝试并找出来?
结果如前所述,前缀版本在方法调用之前运行。后缀在方法调用之后运行。
答案 2 :(得分:1)
与C相同.ObjC是C的超集。