Я искал ответ на этот вопрос в SO и MSDN, но, похоже, не нашел ясного и окончательного ответа...
Я знаю, что это в стандарте C++11 и что текущая версия GCC ведет себя таким образом, но гарантирует ли VC2010 в настоящее время потокобезопасность инициализации локальной статической переменной?
т. е.: Является ли это потокобезопасным с VC2010?
static S& getInstance()
{
static S instance;
return instance;
}
...И если нет, то каковы наилучшие на данный момент методы получения потокобезопасной одноэлементной реализации на C++ с помощью VC2010?
РЕДАКТИРОВАТЬ: Как указано в ответе Криса Бетти, VC2010 не реализует потокобезопасность локальной статической переменной init.