> 1. Правильно ли я понимаю, что при использовании шаблонов, совмещающих объявление и определение (как в примере выше), > в результирующем исполняемом файле мы получаем столько экземпляров функций my_type_1<int>::big_func, в скольких cpp-файлах > она используется (т.е. по одному экземпляру на каждую единицу трансляции)? Зависит ли ответ от компилятора?
компилятор должен метить их особым образом, а линкер убирать дубликаты
D>Для 1. Если ответ на первый вопрос "нет", то о каком разбухании кода говорится при применении шаблонов?
хрестоматийный пример std::sort vs. qsort: у qsort будет один код для всех типов, у std::sort будет по инстанциации для каждого типа с которым ты его используешь.