W języku C++ szablony stanowią też wygodny zamiennik dla makr preprocesora — nie tylko poprawiają czytelność kodu, ale także ułatwiają wyszukiwanie w nim błędów.
Zalety szablonów w C++ Wykorzystanie szablonów w programach pozwala skupić się bardziej na algorytmach niż na danych jakie są przetwarzane. Użycie szablonów pozwala zredukować ilość nadmiarowego kodu ponieważ jedną funkcjonalność można zaprogramować dla wielu typów danych. Następnie kompilator w konkretnym przypadku precyzuje typ i odpowiednio dostosowuje np. wywołania funkcji.
Krytyka szablonów w C++ Działanie szablonów w języku C++ przypomina bardzo zaawansowane makra preprocesora. Powoduje to, że kompilator ma zasadnicze trudności z wygenerowaniem prawidłowych, czytelnych komunikatów diagnostycznych w przypadku błędnego użycia poprawnego szablonu. Większość z nich dotyczy bowiem (poprawnego!) kodu bibliotecznego, co wprowadza programistę w konsternację. Jedyne użyteczne informacje diagnostyczne dotyczą miejsc konkretyzacji szablonu.