Sdílet prostřednictvím


Vytváření instancí šablon funkce

Při prvním volání šablony funkce každého typu vytvoří kompilátor instanci.Každá instance je verze funkce vytvořená pomocí šablony specializované pro typ funkce.Tato instance bude volána vždy při použití funkce pro typ.Je-li k dispozici několik identických instancí, i v případě odlišných modelů, pak bude pro spustitelný souboru použita pouze jedna kopie instance.

Převod argumentů funkce je povolen v rámci šablony funkce pro jakýkoli argument a pár parametru, kde parametr není závislý na argumentu šablony.

Instance šablony funkce lze explicitně vytvořit deklarováním šablony určitým typem jako argument.Například následující kód je povolen:

// 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()
{
}

Viz také

Referenční dokumentace

Šablony funkcí