Ось помилка, яку я вивудив нещодавно: статичні локальні змінні не ініціалізуються потоко-безпечним способом у Visual C++ 2013. Розгляньмо код ініціалізації об’єкта-одинака:

Singleton& getInstance()
{
	static Singleton instance;
	return instance;
}

C++11 вимагає, щоб компілятори генерували потоко-безпечні інструкції у цьому випадку. Так робить gcc, і таке очікував я. Проте, компілятор Microsoft, здається, ігнорує цю вимогу. Наприклад, про це говорять на форумі gamedev. Пильнуйте!