-1

问题是:这样做是否更快:

if (!self.isStarted)
{
     self.started = YES;
}

或者简单地说:

self.started = YES;

并在每个通过的循环中重新分配值。

4

2 回答 2

1

条件比较慢,并且不像简单地将变量设置为 YES 那样清晰。您的代码的重点是,在您离开那段代码后,您要确保变量为 YES,并且由于在总体方案中操作是如此便宜,所以为了可读性,只需将其设置为 YES 而无需事先检查.

于 2013-06-12T21:24:57.100 回答
1

虽然编译器可能无论如何都会优化它,self.started = YES;但会更快,因为它节省了必须从内存中检索值并进行比较的开销。这个答案只对低级语言有效;高级语言将依赖于实现。

于 2013-06-12T17:49:52.220 回答