Eu uso o Visual Studio 2012 e ele tem casos em que adicionamos parâmetros de modelos a uma classe "just" para introduzir um "ponto de costura" para que no teste de unidade possamos substituir essas peças por objetos simulados.
Como você geralmente introduz pontos de costura em C ++: usando interfaces e / ou misturando com base em alguns critérios com interfaces implícitas, usando também parâmetros de modelos? Um motivo para perguntar isso é também porque, ao compilar algumas vezes, um único arquivo C ++ (que inclui arquivos de modelos, que também pode incluir outros modelos) resulta na geração de um arquivo de objeto que leva da ordem de 5 a 10 segundos em uma máquina de desenvolvedor .
O compilador VS também não é particularmente rápido na compilação de modelos, tanto quanto eu entendo, e por causa do modelo de inclusão de modelos (você praticamente inclui a definição do modelo em todos os arquivos que o usam indiretamente e, possivelmente, re-instancia o modelo toda vez que você modifica algo que não tem nada a ver com esse modelo), você pode ter problemas com os tempos de compilação (ao fazer a compilação incremental).
Quais são as suas maneiras de lidar com o tempo de compilação incremental (e não apenas) ao trabalhar com modelos (além de um compilador melhor / mais rápido :-)).