What Does Standard Template Library Mean?
A standard template library (STL) is a software library that extends C++ standard library’s capabilities and provides a ready-made set of common classes for C++, including associative arrays and containers, which are used along with built-in and user-defined types that support elementary operations. The algorithms associated with STL are independent of containers and reduce the complexity of the library.
Techopedia Explains Standard Template Library
A standard template library uses templates to achieve the required results, and provides compile time polymorphism. STLs also include components such as functors, iterators and algorithm containers.
An STL includes sequence and associative containers. Standard sequence containers include deque, vector and list, while standard associative containers are multiset, map, multimap and set. Container adapters such as queue and stack are also containers with specific interfaces, which use other containers as implementation.
There are five different types of iterators within STL:
- Input iterators
- Output iterators
- Bidirectional iterators
- Random access iterators
An STL includes algorithms to perform searching and sorting, each of which is implemented to require a certain level of iterator. STL also includes classes that overload the function operator and are called function objects, or functors. These aid in keeping and retrieving state information in functions passed to other functions.