Nowadays, we usually use std::vector
when we need nonassociative and nonordered containers. This is recommended by Andrei Alexandrescu and Herb Sutter in the book C++ Coding Standards. Even those users who did not read the book usually use std::vector
. Why? Well, std::list
is slower and uses much more resources than std::vector
. The std::deque
container is very close to std::vector
, but does not store values continuously.
If we need a container where erasing and inserting elements does not invalidate iterators, then we are forced to choose a slow std::list
.
But wait, we may assemble a better solution using Boost!
Good knowledge about standard library containers is required to understand the introduction part. After that, only basic knowledge of C++ and standard library containers is required.