Utilizo Visual Studio 2012 y él tiene casos en los que agregamos parámetros de plantillas a una clase "solo" para introducir un "punto de costura" para que en la prueba unitaria podamos reemplazar esas partes con objetos simulados.
¿Cómo suele introducir puntos de costura en C ++: usando interfaces y / o mezclas basadas en algunos criterios con interfaces implícitas usando también parámetros de plantillas? Una razón para preguntar esto también es porque al compilar a veces un solo archivo C ++ (que incluye archivos de plantillas, que también podría incluir otras plantillas) da como resultado que se genere un archivo objeto que demora entre 5 y 10 segundos en un equipo desarrollador .
Por lo que yo entiendo, el compilador de VS tampoco es particularmente rápido en la compilación de plantillas, y debido al modelo de inclusión de plantillas (prácticamente incluye la definición de la plantilla en cada archivo que la usa indirectamente y posiblemente vuelva a instanciar esa plantilla cada vez que modifique algo que no tiene nada que ver con esa plantilla) podría tener problemas con los tiempos de compilación (al hacer una compilación incremental).
¿Cuáles son sus formas de manejar el tiempo de compilación incremental (y no solo) cuando trabaja con plantillas (además de un compilador mejor / más rápido :-)).