Можно ли использовать «удалить это» для удаления текущего объекта?

я пишу связанный список, и я хочу структуру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;
}

Это приемлемо, особенно в этом контексте?

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

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