Sometimes it may be difficult to decide what STL container is more appropriate for a specific application. One important factor is if insertions in the container invalidate iterators or reference to elements already in the container.- deque An insertion in the middle of the deque invalidates all the iterators and references to elements of the deque. An insertion at either then end of the deque invalidates all the iterators to the deque, but has no effect on the validity of references to the elements of the deque.
- list insert(), push_front(), push_back() do not affect the validity of iterators and references.
- vector insert(), push_front(), push_back() affects the validity of iterators and references.
- set, multiset, map, and multimap insert operations do not affect the validity of iterators and references.
Algunas veces es difícil decidir que contenedor de la STL es el más apropiado para una aplicación específica. Un factor importante es si la inserción en el contenedor invalida a los iteradores o referencias a elementos que ya están dentro del contenedor.- deque Una inserción en la mitad de la cola doble invalida todos los iteradores y referencias a elemento in la cola. Una inserción en cualquiera de los extremos invalida todos los iteradores en la cola, pero no afecta la validez de las referencias a estos elementos.
- list insert(), push_front(), push_back() no afectan la validez de los iteradores ni de las referencias.
- vector insert(), push_front(), push_back() afectan la validez de los iteradores y de las referencias.
- set, multiset, map, and multimap las operaciones de inserción no afectan la validez de los iteradores ni de las referencias.
|