我有一个小函数,我想初始化一次,例如
void SomeFunc()
{
static bool DoInit = true;
if (DoInit)
{
CallSomeInitCode();
DoInit = false;
}
// The rest of the function code
}
如果多次调用此函数,则会留下一个if (DoInit)
无法优化的不必要函数。那么为什么我不像构造函数那样在其他地方进行初始化呢?因为,从逻辑上讲,这个初始化代码最适合这个函数,并且更容易维护,尽管它每次都会做不必要的检查。
有没有更好的方法来做到这一点而无需使用上面示例中的构造?