class instanciação de modelo

Acabei de ler o artigo da wiki sobre CRTP, e estou um pouco confuso sobre a instanciação do model

De acordo com o wiki,

s corpos das funções de membro (definições) não são instanciados até muito tempo depois de suas declaraçõe

Não entendo bem o que isso signific

Suponha que recebi um modelo de classe:

template <typename T>
class A
{
    public:
        void foo(T t)
        {
            //...
        };
};

uando instancia o modelo de classe A, ele instancia a função de membro foo (

Por exemplo

//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?
}

questionAnswers(2)

yourAnswerToTheQuestion