今やDouble-Checked Locking is Fixed In C++11されたのだから
static local 変数を使う意味は無くなた
※ 個人の感想です