Optymalizacja szablonów

0

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

2

Nie ma co optymalizować, przeca koniec końców szablony są podobne tylko z nazwy, mogą mieć nawet diametralnie różniące się flaki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1