Vì STL là một tập hợp các lớp khuôn mẫu C++, nên việc biết các lớp này được cấu trúc như thế nào là điều cần thiết để làm việc với STL.
C++ đã thêm hai từ khóa mới để hỗ trợ các mẫu: "mẫu"; và "tên loại". Sử dụng chúng, bạn có thể viết một hàm chung sẽ được mở rộng thành các loại được yêu cầu tại thời điểm biên dịch. Ví dụ: hàm mẫu để nhận tối đa hai giá trị:

mẫu <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;
}