Hay una categoría significativa de tipos que requiere modificaciones del código fuente para lograr una reutilización efectiva. Las plantillas de C++ llevan a cabo la modificación del código fuente automáticamente, convirtiéndola en una herramienta especialmente potente para la reutilización del código de las librerías. Si se diseña un tipo usando plantillas funcionará fácilmente con muchos otros tipos. Las plantillas son especialmente interesantes porque ocultan al programador cliente la complejidad de esta forma de reutilizar código.