В чем разница между явным и неявным созданием экземпляров шаблона функции?
Допустим есть шаблон функции:
template <class T>
void func(T x, T y);
При вызове в коде этой функции, например, с параметрами int, произойдет неявное создание экземпляра шаблона.
Но можно явно создать экземпляр:
template void func<float>(float x, float y);
В чем разница между явным и неявным созданием экземпляра шаблона функции? Для чего вообще было введено явное создание экземпляра шаблона функции?
Ответы (1 шт):
Автор решения: user7860670
→ Ссылка
Это может быть нужно, когда шаблон определяется только для нескольких вариантов в определенной единице трансляции. Обычно так делают чтобы экспортировать эти варианты из dll