Udostępnij za pośrednictwem


Tworzenie wystąpienia szablonu funkcji

Gdy szablon funkcji jest wywoływana jako pierwszy dla każdego typu, kompilator tworzy wystąpienia.Każde wystąpienie jest wersją opartych na szablonach wyspecjalizowanych funkcji dla danego typu.Każdorazowo, gdy funkcja jest używana dla tego typu, zostanie wywołane to wystąpienie.Jeśli istnieje kilka identycznych wystąpień, nawet w różnych modułach, tylko jedna kopia wystąpienia znajdzie się w pliku wykonywalnym.

Konwersja argumentów funkcji jest dozwolone w szablonach funkcji dla każdej pary argument i parametr, gdzie parametr nie zależy od argumentu szablonu.

Funkcje szablonów można jawnie inicjalizować, definiując szablon z określonym typem jako argument.Na przykład, poniższy kod jest dozwolony:

// function_template_instantiation.cpp
template<class T> void f(T) { }

// Instantiate f with the explicitly specified template.
// argument 'int'
//
template void f<int> (int);

// Instantiate f with the deduced template argument 'char'.
template void f(char);
int main()
{
}

Zobacz też

Informacje

Szablony funkcji