Saya menggunakan Visual Studio 2012 dan dia memiliki kasus di mana kami menambahkan parameter template ke kelas "hanya" untuk memperkenalkan "titik jahitan" sehingga dalam unit-test kita dapat mengganti bagian-bagian itu dengan benda tiruan.
Bagaimana Anda biasanya memperkenalkan titik jahitan di C ++: menggunakan antarmuka dan / atau pencampuran berdasarkan beberapa kriteria dengan antarmuka implisit dengan menggunakan parameter templat juga? Salah satu alasan untuk menanyakan hal ini juga karena ketika mengkompilasi kadang-kadang satu file C ++ (yang termasuk file templat, yang juga bisa menyertakan templat lain) menghasilkan file objek yang dihasilkan dalam waktu sekitar 5-10 detik pada mesin pengembang .
VS compiler juga tidak terlalu cepat mengkompilasi template sejauh yang saya mengerti, dan karena model inklusi template (Anda praktis memasukkan definisi template di setiap file yang menggunakannya secara tidak langsung dan mungkin instantiate ulang template itu setiap kali Anda memodifikasi sesuatu yang tidak ada hubungannya dengan template itu) Anda bisa memiliki masalah dengan waktu kompilasi (ketika melakukan kompilasi tambahan).
Apa cara Anda menangani waktu kompilasi bertahap (dan tidak hanya) ketika bekerja dengan templat (selain kompiler yang lebih baik / lebih cepat :-)).