O que acontecerá se um elemento std :: vector 'cometer suicídio' (usando delete this;)?

Suponha que haja um vetor deItems

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

Então, em outra parte do código,

items[1]->suicide();

onde osuicide função é:

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

O que éitems tamanho do vetor e como é arranjo agora? Isto éOK para fazer isso?

Editar (posso fazer uma pergunta adicional?): Se a disposição desejada da saída for{item1, item3}o tamanho é2, e não ponteiro pendente, como fazê-lo de forma auto-destrutiva (a partir doitem2 em si)?

Editar 2 : Obrigado por todas as respostas! Impressionante. Então eu finalmente decidi e encontrei o jeito de fazer isso de fora do objeto porque era uma prática ruim e desnecessariamente complicada

questionAnswers(7)

yourAnswerToTheQuestion