Следующие две функции создают разные сборки, что говорит мне о том, что они разные. Может кто-нибудь сказать мне, чем они отличаются? И безопасна ли инициализация локальной статической переменной функции в потоке func2 -? Если ответ зависит от компилятора, я хотел бы знать, как наиболее распространенные компиляторы будут вести себя с func2.
int func1(int val)
{
const auto impl = [](int v)
{
return v * 10;
};
return impl(val);
}
int func2(int val)
{
static const auto impl = [](int v)
{
return v * 10;
};
return impl(val);
}