其中哪一个会产生最有效/更小的二进制代码?
:此
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会有什么不同吗?
答案 0 :(得分:2)
编译后的版本将完全相同。
这是表达同一事物的两种不同方式