xxxxxxxxxx
Good Website to learn:
https://en.cppreference.com/w/cpp/container
https://www.cplusplus.com/reference/stl/
https://www.geeksforgeeks.org/the-c-standard-template-library-stl/
xxxxxxxxxx
[0]
The Standard Template Library (STL) is a software library originally designed
by Alexander Stepanov for the C++ programming language that influenced many
parts of the C++ Standard Library. It provides four components called
algorithms,containers, functions, and iterators.
The STL provides a set of common classes for C++, such as containers and
associative arrays, that can be used with any built-in type and with any
user-defined type that supports some elementary operations
(such as copying and assignment). STL algorithms are independent of
containers, which significantly reduces the complexity of the library.
The STL achieves its results through the use of templates. This approach
provides compile-time polymorphism that is often more efficient than
traditional run-time polymorphism. Modern C++ compilers are tuned to minimize
abstraction penalties arising from heavy use of the STL.
The STL was created as the first library of generic algorithms and data
structures for C++, with four ideas in mind: generic programming,
abstractness without loss of efficiency, the Von Neumann computation model,
and value
semantics.
The STL and the C++ Standard Library are two distinct entities.
[1]
The C++ STL (Standard Template Library) is a powerful set of C++ template
classes to provide general-purpose classes and functions with templates that
implement many popular and commonly used algorithms and data structures like
vectors, lists, queues, and stacks.
xxxxxxxxxx
STL stands for Standard Template Library in C++.
It is a collection of template classes and functions that
are used to perform common programming tasks,
such as sorting, searching, and manipulating data.
The STL provides a set of generic and efficient
algorithms, containers, and iterators that are widely used in C++ programming.
The STL is divided into three main components:
Containers: Containers are classes that store and organize data.
The STL provides several types of containers, such as vectors,
lists, and maps, that can be used to store and access data in different ways.
Algorithms: Algorithms are functions that perform operations on the data
stored in containers. The STL provides a wide range of algorithms for sorting,
searching, and manipulating data, such as sort(), find(), and for_each().
Iterators: Iterators are objects that allow you to traverse the elements
of a container. The STL provides several types of iterators,
such as forward iterators, bidirectional iterators,
and random-access iterators, that can be used to access the elements
of a container in different ways.
The STL is designed to be highly efficient, reusable, and easy to use,
making it an essential tool for C++ programmers.
It is widely used in the C++ programming community and is considered
a fundamental part of the C++ language.
xxxxxxxxxx
// C++ program to illustrate the
// iterators in vector
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> g1;
for (int i = 1; i <= 5; i++)
g1.push_back(i);
cout << "Output of begin and end: ";
for (auto i = g1.begin(); i != g1.end(); ++i)
cout << *i << " ";
cout << "\nOutput of cbegin and cend: ";
for (auto i = g1.cbegin(); i != g1.cend(); ++i)
cout << *i << " ";
cout << "\nOutput of rbegin and rend: ";
for (auto ir = g1.rbegin(); ir != g1.rend(); ++ir)
cout << *ir << " ";
cout << "\nOutput of crbegin and crend : ";
for (auto ir = g1.crbegin(); ir != g1.crend(); ++ir)
cout << *ir << " ";
return 0;
}