image/svg+xml
Fixed size
std::map
std::multimap
std::set
std::multiset
std::unordered_map
std::unordered_multimap
std::unordered_set
std::unordered_multiset
std::deque
std::vector
std::list
std::queue
std::stack
std::priority_queue
std::pair
std::tuple
std::array
The C++ standard library generic containers
Size changes at run time?
Can traverse in sorted order?
Yes
No
Elements keep insertion ordering?
Yes
No
Yes
No
Elements all the same type?
Yes
No
Accessing elements?
Access first only
Access last only
Restricted
What is the key?
Fast insert and remove?
Both ends
Anywhere
Separate key
The data itself
Cannot traverse
Sorted
Unsorted
One end only
Random access
BidirectionalSequential access
Homogeneous
Heterogeneous
Variable size
Keyed access
Sequential access
ForwardSequential access
std::forward_list