Что произойдет, если элемент std :: vector 'совершит самоубийство' (используя delete this;)?

Предположим, есть векторItems

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

Затем в другой части кода,

items[1]->suicide();

гдеsuicide функция:

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

Что такоеitems размер вектора и как он сейчас устроен? этоХорошо сделать это?

редактировать (могу ли я задать дополнительный вопрос?): Если желаемое расположение выходного{item1, item3}Размер2и без висящего указателя, как сделать это самоуничтожением (изitem2 сам)?

Редактировать 2 : Спасибо за ответы на все вопросы! Потрясающие. Поэтому я наконец решил и нашел способ сделать это снаружи объекта, потому что это была плохая практика и излишне сложная

Ответы на вопрос(7)

Ваш ответ на вопрос