Это упражнение из С++ Primer 5th Edition:
Упражнение 16.27: для каждого помеченного заявления объясните, что, если таковое имеется, экземпляры происходят. Если шаблон создается, объясните, почему; если не объясните, почему нет. 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)
}
Ниже я попытался:
(a) Stack<char>
создается, но его экземпляр не создается.
(b) Stack<double>
создается, но ни один из его экземпляров не создается.
(c) Stack<int>
и его конструктор по умолчанию создается.
(d) (e) совершенно не знаю...
(f) Stack< string >
создается, но ни один из его экземпляров не создается.
Я прав? Может ли кто-нибудь сказать мне, как этот код создается?