http://www.cplusplus.com/reference/stl/

Sequence Containers

  • array
  • vector
  • deque
  • forward_list
  • list

Container Adapters

  • stack
  • queue
  • priority_queue

Associative Containers

  • set
  • map
  • multiset
  • multimap

Unordered Associative Containers

  • unordered_set
  • unordered_multiset
  • unordered_map
  • unordered_multimap

Features

  • multiset, set and map are typically implemented as binary search trees.
  • Forward lists are sequence containers that allow constant time insert and erase operations anywhere within the sequence.
  • map is generally slower than unordered_map containers to access individual elements by their key, but it allows the direct iteration on subsets based on their order.
  • Unlike the other standard containers, array has a fixed size.
  • unordered_set is faster than set containers to access individual elements by their key.
  • deque is not guaranteed to store all its elements in contiguous storage locations but has efficient insertion and deletion of elements at the beginning and end of a sequence.
  • forward_list has been designed with efficiency in mind. By design, it is as efficient as a simple handwritten C-style singly-linked list, and in fact is the only standard container to deliberately lack a size member.
  • By default, if no container class is specified for a particular priority_queue class instantiation, the standard container vector is used.
  • Support of random access iterators is required to keep a heap structure internally at all times. This is done automatically by the container adaptor by automatically calling the algorithm functions make_heap, push_heap and pop_heap when needed. The standard container classes vector, deque and list fulfill these requirements. By default, if no container class is specified for a particular stack class instantiation, the standard container deque is used.