由于删除过程不管是先释放还是先取的后一个元素都有问题,所以我们用了两个指针来删除整个链表,一个指向当前要删除的元素,而另外一个指向该删除元素的下一个元素.
void delete_chain(Chain* & l) { Chain * node; while(l->next) { node=l->next; delete node; l=node; } delete l; }