main() { int a2 = 4, b2 = 5; cout << function (a2, b2); char c2, d2; function (c2, d2); } Właściwości W miejscach wywoływania funkcji szablonowej nie zawsze jest konieczne określanie parametrów szablonu, ponieważ zostanie podjęta próba ich określenia korzystając z typów parametrów aktualnych wywołania. W związku z tym zamiast pisać dodaj<int>(a, b), zwykle wystarczy samo dodaj(a, b) ponieważ kompilator zna typy zmiennych a i b i na tej podstawie spróbuje dopasować wywołanie odpowiedniej funkcji (niekoniecznie szablonowej). Podmiana parametrów formalnych podczas generowania funkcji szablonowej nie jest naiwna tzn. słowo określające parametr formalny zostanie podmienione na parametr aktualny tylko tam, gdzie jest ono użyte w kontekście typu. W szczególności nie zostaną podmienione wystąpienia słowa Typ w nazwach zmiennych, łańcuchach itp.
Kategoria:C++