其中哪一個會生成最高效/較小的二進制代碼?iPhone - 哪個會生成最高效/較小的代碼?
本
int sum = 0;
for (NSNumber * oneObj in objArray) {
if ([oneObj intValue] > 10)
sum += [oneObj intValue];
else
sum -= [oneObj intValue];
}
或那樣嗎?
int sum = 0;
for (NSNumber * oneObj in objArray) {
sum += ([oneObj intValue] > 10) ? oneObj : -oneObj;
}
寫這個濃縮形式的IF有什麼區別嗎?
編譯器可能會優化它反正兩種不同的方法,所以我猜都將是相同的。 – skyuzo
我對此也很感興趣。希望回答的人給出詳細信息! –
我覺得過早優化的氣味。 –