¿Qué sucederá si un elemento std :: vector 'se suicida' (usando eliminar esto;)?

Supongamos que hay un vector deItems

vector<Item*> items; //{item1, item2, item3}

Luego, en otra parte del código,

items[1]->suicide();

donde elsuicide la función es:

void Item::suicide()
{
   delete this;
}

Que esitems Tamaño del vector y cómo se arregla ahora? Esbueno ¿para hacer esto?

Editar (¿Puedo hacer una pregunta adicional?): Si la disposición deseada de la salida es{item1, item3}el tamaño es2, y sin puntero colgante, cómo hacerlo de forma autodestructiva (desde elitem2 sí mismo)?

Editar 2 : ¡Gracias por todas las respuestas! Increíble. Así que finalmente decidí y encontré la forma de hacerlo desde fuera del objeto porque era una mala práctica y era innecesariamente complicada.

Respuestas a la pregunta(7)

Su respuesta a la pregunta