Позволяет ли явное объявление экземпляра объявлять явную специализацию шаблона только в отдельной единице перевода?C++

Программы на C++. Форум разработчиков
Anonymous
Позволяет ли явное объявление экземпляра объявлять явную специализацию шаблона только в отдельной единице перевода?

Сообщение Anonymous »

Краткая версия: гарантирует ли явное объявление экземпляра, что видимое определение шаблона никогда не будет использоваться (если только не встречается явное определение экземпляра), и, следовательно, разрешает явную специализацию шаблона, которая доступна только в единице перевода, содержащей явное определение экземпляра?
Длинная версия:
У меня есть много небольших структур (порядка нескольких тысяч) в куче файлов заголовков, и все они удовлетворяют некоторым концепция. Для иллюстрации я поместил здесь три из них и упростил концепцию до одного метода, но в моем реальном коде все намного сложнее.

Код: Выделить всё

struct Thing1 {
static void foo(int x) {
// We're printing stuff out as an example, but in my actual code it's a reasonably quick computation that is generally fully inlined
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79857695/does-an-explicit-instantiation-declaration-allow-an-explicit-template-specializa[/url]

Вернуться в «C++»