我有一个小一点的功能,我想初始化一次如
void SomeFunc()
{
static bool DoInit = true;
if (DoInit)
{
CallSomeInitCode();
DoInit = false;
}
// The rest of the function code
}
如果这个函数被调用很多时候离开一个不必要的if (DoInit)
不能被优化。 那么,为什么不我不初始化其他地方类似的构造? 因为,这在逻辑上初始化代码最好在这个函数内符合并,更容易保持这种方式尽管它每次会做不必要的检查。
有没有更好的办法做到这一点,而不诉诸使用在上面的例子中的结构?