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, botów: 0