2011-10-26 6 views
0

Lequel de ceux-ci produira le code binaire le plus efficace/plus petit?iPhone - qui produira le code le plus efficace/plus petit?

CE

int sum = 0; 
for (NSNumber * oneObj in objArray) { 
    if ([oneObj intValue] > 10) 
     sum += [oneObj intValue]; 
    else 
     sum -= [oneObj intValue]; 
} 

OU CE?

int sum = 0; 
for (NSNumber * oneObj in objArray) { 
    sum += ([oneObj intValue] > 10) ? oneObj : -oneObj; 
} 

est-il une différence écriture du SI sous cette forme condensée?

+3

Le compilateur va probablement optimiser de toute façon, donc je suppose que les deux seront les mêmes. – skyuzo

+0

Je suis très intéressé par cela aussi. Espérons que la personne qui répond donne des détails! –

+5

Sent une optimisation prématurée pour moi. –

Répondre

2

Les versions compilées seront identiques.

Il est deux manières différentes d'exprimer la même chose

+3

'[citation nécessaire]' –

+1

@Matt ce n'est pas Wikipedia. Si vous n'êtes pas d'accord, downvote! –

+0

Et oui, pisse au ciel de l'optimisation prématurée –

Questions connexes