przesłonięcie lub przeładowanie funkcji - czy ma wpływ na wydajność

Odpowiedz Nowy wątek
2015-01-12 15:56
Zimny Krawiec
0

Hey, chciałem się zapytać, czy przeładowanie lub przeciążenie funkcji w klasie ma jakikolwiek wpływ na wydajność wywoływania tej funkcji i całej aplikacji?
Nie chodzi mi jednak o polimorfizm tylko np. o coś takiego:

class basic
    {
    public:
    static void fun()
        {
        cout << " basic fun " << endl;
        }
    };

class deriv : public basic
    {
    public:
    static void fun()
        {
        cout << " deriv fun " << endl;
        }
    };

template<class T>
class check
    {
    public:
        void fun2()
            {
            T::fun();
            }
    };

Moim zdaniem nie powinno mieć to żadnego wpływu, bo rozpoznanie odpowiednich funkcji odbywa się w trakcie kompilacji. Jednak wolę się upewnić.

Pozostało 580 znaków

2015-01-12 16:58
1

Narzut jest tylko i wyłącznie w wirtualnych wywołaniach, bo trzeba sprawdzić vtable

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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