Я використовую Visual Studio 2012, і у нього є випадки, коли ми додавали параметри шаблонів до класу "просто", щоб ввести "точку шва", щоб в блок-тесті ми могли замінити ці частини на макетні об'єкти.
Як ви зазвичай вводите точки шва в C ++: використовуючи інтерфейси та / або змішуючи на основі деяких критеріїв із неявними інтерфейсами, використовуючи також параметри шаблонів? Одна з причин запитувати це також полягає в тому, що при компіляції іноді одного файлу C ++ (який включає файли шаблонів, які також можуть включати інші шаблони) в результаті створюється об’єктний файл, який займає близько 5-10 секунд на машині розробника .
Як я розумію, компілятор VS не особливо швидкий при складанні шаблонів, і тому, що модель включення шаблонів (ви практично включаєте визначення шаблону у кожен файл, який використовує його побічно, і можливо повторно інстанціювати цей шаблон щоразу, коли ви змінюєте щось, що не має нічого спільного з цим шаблоном) у вас можуть виникнути проблеми з часом компіляції (при поступовому компілюванні).
Які ваші способи поводження з додатковим (і не тільки) часом збирання під час роботи з шаблонами (крім кращого / швидшого компілятора :-)).