The Standard Template Library (STL) is a software library; it is part of the C++ Standard Library describing containers, iterators and algorithms.
The STL has been a major improvement for C++ programmers: it gives the user a ready-made set of common classes, like vectors and associative arrays, that can be used with any built-in type, and even with user-defined classes with the overloading of a few operators.
The STL can achieve this result with its heavy use of templatess. While very powerful, the resulting complicated code was (and sometimes still is) a problem for many different compilers, that sometimes failed to compile valid constructs, produced invalid code or required the programmer extra effort to get everything right.
The C++ Standard Library is defined by ISO/IEC 14882.