Так как STL представляет собой набор шаблонных классов C ++, то знание того как устроены эти классы является желательным для работы c STL.
В C ++ добавлено два новых ключевых слова для поддержки шаблонов: «template» и «typename». Используя их можно написать универсальную функцию, которая будет во время компиляции раскрываться в нужные типы. Например, шаблонная функция получения максимума из двух значений:
template <typename T>
T myMax(T x, T y)
{
return (x > y)? x: y;
}
int main()
{
cout << myMax<int>(3, 7) << endl;
cout << myMax<double>(3.0, 7.0) << endl;
cout << myMax<char>('g', 'e') << endl;
return 0;
}