我明白在平原C.前綴和後綴符號之間的差Objective-C方法調用中前綴/後綴增量的區別?
我是,然而,不知道是否施加到目標C法相同的規則調用等
[myObject foo:++i];
和
[myObject foo:i++];
或者是「內部C表達式」總是先評估,這兩個方法調用因此產生相同的結果?
我明白在平原C.前綴和後綴符號之間的差Objective-C方法調用中前綴/後綴增量的區別?
我是,然而,不知道是否施加到目標C法相同的規則調用等
[myObject foo:++i];
和
[myObject foo:i++];
或者是「內部C表達式」總是先評估,這兩個方法調用因此產生相同的結果?
是,適用同樣的規則。 Obj-c是c的嚴格超集,所以在c中工作的所有東西在Objective-c中的工作方式都完全相同。
++i
將遞增i
方法被調用,以便那些2種方法將不會產生相同的結果之前(假設,或者當然,該結果取決於i
的值)。一個在i
增加後被調用,另一個在之前被調用。
它一樣C. ObjC是C.
爲什麼沒有真正嘗試,找出的一個超集?
結果正如所預料的前綴版本的方法調用運行之前。後綴在方法調用之後運行。
我剛剛試了一下,它確實是你說的方式。然而,我並不認爲在這種特殊情況下「superset」參數是一個非常好的參數,因爲它可能是Objective-C分別評估C表達式並將最終結果插入到方法調用語句中。 – tajmahal