と呼ばれる自由な関数があるとしInitFoo
ます。この関数が誤って複数回呼び出されないように保護したいと思います。あまり考えずに次のように書きました。
void InitFoo()
{
{
static bool flag = false;
if(flag) return;
flag = true;
}
//Actual code goes here.
}
しかし、これは大きないぼのように見えます。他の状態情報を保持する必要はありInitFoo
ません。誰かが醜いことなく同じ目標を達成する方法を提案できますか?
もちろん、マクロはカウントされません。