Explicit Instantiations
By explicitly instantiating a class we also cause all of its
member functions and static data members to also be
explicitly instantiated unless they have previously been
explicitly instantiated themselves.
We can also explicitly instantiate just select member
functions of a class template if all member functions are
not needed.
Explicit instantiations of a class are placed in the same
namespace where the class template is defined, which is
the same if the class were implicitly instantiated.
But, default template arguments cannot be used in an
explicit instantiation.