-1

if()在一个或一个变量初始化之间需要更多时间的指令是什么?

首先检查给定变量是否具有非零值并仅在它非零时设置它会更有效吗?

例如:一个布尔值!

if (boolean)
    boolean = false;

或直接:boolean = false;

4

1 回答 1

1

很可能不检查会更快。它确实取决于正在设置的对象的类型(在这种情况下,布尔值,显然是“易于设置”)。只有具有“简单比较”和“设置复杂”的特别特殊对象才能从首先检查中受益。

如果它真的很容易检查并且很难更改,那么“设置”功能应该自己检查。

一个例外是处理器之间存在大量争用的共享内存,因为写入内存将强制刷新其他处理器的缓存,这需要时间。

于 2013-04-25T14:31:07.580 回答