Можно ли использовать «удалить это» для удаления текущего объекта?
я пишу связанный список, и я хочу структуруs деструктор (структура Node), чтобы просто удалить себя, и не иметь никаких побочных эффектов. Я хочу свой списокs деструктор для итеративного вызова деструктора Node для себя (временное сохранение следующего узла), например:
//my list class has first and last pointers
//and my nodes each have a pointer to the previous and next
//node
DoublyLinkedList::~DoublyLinkedList
{
Node *temp = first();
while (temp->next() != NULL)
{
delete temp;
temp = temp->next();
}
}
Так что это будет мой деструктор Node:
Node::~Node
{
delete this;
}
Это приемлемо, особенно в этом контексте?