Korzystam z programu Visual Studio 2012, a on ma przypadki, w których dodaliśmy parametry szablonów do klasy „tylko” w celu wprowadzenia „punktu szwu”, aby w teście jednostkowym mogliśmy zastąpić te części próbnymi obiektami.
Jak zwykle wprowadzasz punkty szwu w C ++: używając interfejsów i / lub mieszając na podstawie niektórych kryteriów z interfejsami niejawnymi, używając również parametrów szablonów? Jednym z powodów, dla których warto o to zapytać, jest to, że czasami podczas kompilacji pojedynczy plik C ++ (zawierający pliki szablonów, które mogą również zawierać inne szablony) powoduje wygenerowanie pliku obiektowego, który zajmuje około 5-10 sekund na komputerze programisty .
O ile rozumiem, kompilator VS nie jest szczególnie szybki w kompilowaniu szablonów, a także ze względu na model włączenia szablonów (praktycznie dołączasz definicję szablonu do każdego pliku, który używa go pośrednio i być może tworzysz go ponownie za każdym razem, gdy modyfikujesz coś, co nie ma nic wspólnego z tym szablonem) możesz mieć problemy z czasami kompilacji (podczas kompilacji przyrostowej).
Jakie są twoje sposoby obsługi przyrostowego (i nie tylko) czasu kompilacji podczas pracy z szablonami (oprócz lepszego / szybszego kompilatora :-)).