Не совсем понимаю, зачем нужно явное создание экземпляров шаблонной функции:
Мне непонятна 9 строка ( помеченная комментарием
Явное создание экземпляра шаблонной функции
:
#include <iostream>
template < typename T >
void func( T var )
{
std::cout << "Hi!\n";
}
template void func( double var ); // ???
int main()
{
func( 1 );
func( 1. );
}
Мне непонятна 9 строка ( помеченная комментарием
// ???
). Правильно-ли я вообще написал? Если да, то зачем такое может понадобиться? Ведь, если убрать эту строку, ничего не изменится ( не считая того, что насильно определенная функция будет занимать место в памяти ).