List::~List()
{
Node *ptr = m_dummy->m_next;
for(;;) {
Node *next = ptr->m_next; // 次のノードを delete 前に取得しておく
delete ptr; // ノードのメモリを解放
if( ptr == m_dummy )
break;
ptr = next; // 次のノードに移動
}
}
解説:
前: | 次: