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?