std::vector is ideal for insertions and deletions at the end of the collection and also for random read access.
The documentation talks more about it -
vector Class[
^]
Here are some excerpts from the documentation -
They should be the preferred container for a sequence when random-access performance is at a premium.
Vectors allow constant time insertions and deletions at the end of the sequence. Inserting or deleting elements in the middle of a vector requires linear time. The performance of the deque Class container is superior with respect to insertions and deletions at the beginning and end of a sequence. The list Class container is superior with respect to insertions and deletions at any location within a sequence.