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

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ć.

1

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

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