自明でない(non-trivial)コンストラクタを持つ静的オブジェクトは使用前に初期化されねばならない。十分な注意を払わないと、初期化されていない非ローカル静的オブジェクトをアクセスしてしまう場合がある。 struct Bar { Bar () { cout << "Bar::Bar()\n"; } void f () { cout << "Bar::f()\n"; } }; struct Foo { Foo () { bar_.f (); } static Bar bar_; }; Foo f; Bar Foo::bar_; int main () {}