Cześć,
mam takie coś
template <typename T>
class A
{
protected:
std::mutex& getMutex()
{
static std::mutex mtx;
return mtx;
}
/*..*/
};
class B : public A<B>
{
/*..*/
void f()
{
auto &mtx = getMutex();
/*..*/
}
};
class C : public A<C>
{
/*..*/
void f()
{
auto &mtx = getMutex();
/*..*/
}
};
czy mogę mieć pewność, B i C będą miały inny mutex? Czy kompilator może to zoptymalizować i dostaną ten sam