Всем привет,
Возможно будет полезно. Следующая имплементация падает в релизной версии, скомпилированной MSVC++. Это дефект оптимизатора MSVC++.
Foo.h
----------
class Foo
{
public:
static Foo& GetInstance()
{
static Foo instance;
return instance;
}
};
Исправлял уже 2 раза в нашем проекте.
Чтобы исправить надо перенести имплементацию метода GetInstance() в cpp-шник. Чтобы понять почему падает, добавьте счетчик созданных объектов в Foo и подивитесь
Кое какая информация есть здесь:
http://www.codeproject.com/useritems/VC2003MeyersSingletonBug.asp