Czy inicjalizacja lokalnego statycznego obiektu funkcji wątku jest bezpieczna?
Następujące dwie funkcje tworzą różne zestawy, co mówi mi, że są różne. Czy ktoś może mi powiedzieć, w jaki sposób są inni? I czy inicjalizacja zmiennej statycznej funkcji w func2 jest bezpieczna dla wątków, czy nie? Jeśli odpowiedź zależy od kompilatora, chciałbym wiedzieć, jak zachowują się najbardziej popularne kompilatory z 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);
}