<<< Template internals | Index | A useful template trick >>> |
A template makes demands on the types that user wants to use in place of template paremeters such as ValueT.
If demands aren't satisfied, it's an error.
So in a way, a template is a client of the typename ValueT, without knowing what ValueT is yet.
Native C++ types allow lots of operations, so they should almost always be considered first.
Templates are another reason to have overloaded operators,
and to have them behave like the native types do.
<<< Template internals | Index | A useful template trick >>> |