Szablon (programowanie)

Szablon (ang. template) to jedno z podejść do programowania uogólnionego stosowane w językach C++ oraz D. Podobnym rozwiązaniem są typy generyczne (lub uogólnione) stosowane w językach takich jak Java, C#, Eiffel, VB .NET, Haskell.

Szablony umożliwiają m.in. tworzenie kodu bez uwzględniania typów. Szablony mogą zapobiegać redundancji kodu.

Zarówno w C++ jak i w D szablony mogą być wykorzystywane do metaprogramowania.

W celu użycia szablonu należy stworzyć jego instancję. Tworzenie instancji szablonu określamy mianem konkretyzacji.

Zarówno składnia, jak i ich cechy zależą od danego języka: