Anonymous wrote:
Could someone please explain template template classes, showing:
1). Why they are needed / i.e what problem do they solve ?
template <class T, class Container>
class Stack1;
template <class T, template <class> class Container>
class Stack2
with Stack1, the template parameter Container needs container class
with Stack2, Container is a template template parameter, it need a class
with *one* template parameter.
see the usage:
class Vector1; // holds int
template <class T>
class Vector2;
Stack1<int, Vector1> s1;
Stack1<int, Vector2<int> > s2;
Stack2<int, Vector1> s3; // compile time error
Stack2<int, Vector2<int> > s4;
so template template parameter restrict the parameter you pass into the
template class.
Any other use, I don't know.
Anyway it's not mandatory, in STL, as far as I know, there's no template
template parameter usage.
2). A simple example
I have read various articles etc, but it still dosen't seem to make
sense to me