Suppose, there are two iterator pointing at different places at different places.
For a list, are they still valid if an item is inserted between them?
If I understood correctly, a std::list object is usually implemented as a doubly-linked list, hence upon an insertion (or a deletion) the the iterators are still valid.
However, for an array, I believe this is not the case. If an item is now deleted between two iterators - does that mean the iterator pointing to the item toward the end of the vector now points at the subsequent item (or the end iterator if the second iterator is pointing at the last time)
Is my understand correct?