For eksempel har standardbiblioteket i C++ funksjonstemplaten max(x, y) som returnerer hvilken av x og y som er størst. Funksjonstemplaten kan bli skrevet som følgende Denne ene funksjonstemplaten fungerer med mange datatyper. Den skal fungere med både primitive typer og alle klassetyper som har definert operatoren > og har definert en kopikonstruktør. Dette er fordi funksjonstemplaten er definert til å ta argumentene ved verdier, ikke referanser. Ved å bruke funksjonstemplater slipper vi å skrive mange forskjellige funksjonsdefinisjoner med forskjellige typer. Vi trenger dermed kun å vedlikeholde en funksjon som vil gjøre koden mer lesbar. En template vil uansett ikke lage mindre objektkode enn om man skulle definert separate funksjoner for hver type som skal brukes.