C++

Expresión: iterador de vector no incrementable error al eliminar el elemento desde el interior del contenedor

Expression Vector Iterator Not Incrementable Error Deleting Element From Inside Container

Se produce un error de tiempo de ejecución cuando se usa un contenedor para eliminar elementos hoy

|_+_|

Unas pocas líneas de código, la primera vez que utiliza la operación de borrado del contenedor, la intención es atravesar el contenedor de principio a fin, si cumple
* it1% 2 == 0 para ejecutar la operación y aumentar el puntero it1 al siguiente elemento, el resultado es un error:
imagen



Estudié atentamente el borrado, Se encuentra que borrar tiene un valor de retorno, apuntando al iterador después del elemento eliminado . Y ejecutar Después de borrar, hará que el iterador, la referencia y el puntero después del punto de eliminación no sean válidos , Entonces ocurre un error al ejecutar a ++ it1.
En el futuro, se debe prestar especial atención a diversas situaciones en las que el contenedor hará que falle el iterador.
Entonces, el enfoque correcto:



|_+_|

referencia: https://blog.csdn.net/keyboardfucker/article/details/52069066