Como um modelo é instanciado?

É um exercício deC ++ Primer 5ª Edição:

Exercício 16.27: Para cada afirmação rotulada, explique o que, se houver, instanciações acontecem. Se um modelo for instanciado, explique o porquê; Se não, explique por que não. P.677

template <typename T> class Stack { };

void f1(Stack<char>);                   // (a)

class Exercise {
    Stack<double> &rsd;                 // (b)
    Stack<int>    si;                   // (c)
};

int main() {
    Stack<char> *sc;                    // (d)
    f1(*sc);                            // (e)
    int iObj = sizeof(Stack< string >); // (f)
}

Abaixo está o que eu tentei:

(uma)Stack<char> é instanciado, mas nenhum membro é instanciado.

b)Stack<double> é instanciado, mas nenhum membro é instanciado.

c)Stack<int> e seu construtor padrão são instanciados.

(d) (e) totalmente nenhuma idéia ...

f)Stack< string > é instanciado, mas nenhum membro é instanciado.

Estou certo? Alguém pode me dizer como esse código é instanciado?

questionAnswers(2)

yourAnswerToTheQuestion