Introduction
The C++ standard library comes with a wide range of standard containers. A container always contains a collection of data or objects. The cool thing is that containers can be used with practically any kind of object, so we just need to pick the right containers for our specific application. The STL gives us stacks, automatically growing vectors, maps, and so on. This way we can concentrate on our app and don't need to reinvent the wheel. Knowing all containers well is therefore crucial for every C++ programmer.
All containers the STL provides can be categorized as follows, which is explained in detail in the subsequent subsection:
- Contiguous storage
- List storage
- Search trees
- Hash tables
- Container adapters
Contiguous storage
The simplest way to store objects is to put them just next to each other in one large chunk of memory. Such memory can be accessed in a random access manner in O(1) time.
The easiest way to do that is using std::array
, which is just a wrapper around normal C-style...