создание шаблона класса
Я только что прочитал статью о викиCRTPи я немного озадачен созданием шаблона.
Согласно вики,
Тела (определения) функций-членов создаются не раньше, чем через долгое время после их объявления.
Я не совсем понимаю, что это значит.
Предположим, я получил шаблон класса:
template <typename T>
class A
{
public:
void foo(T t)
{
//...
};
};
Когда я создаю экземпляр шаблона класса A, создает ли он экземпляр функции-члена foo ()?
Например:
//in .cpp file
int main()
{
A<int> a; //question 1
//class template is instantiated here, isn't it?
//What about foo(), is it instantiated too?
a.foo(10); //question 2
//according to the quotation, foo() will not be instantiated until it is used.
//if so, foo() is instantiated right here, not in question 1, right?
}