在了解到异常安全的重要性的重要性后,马上想到自己在刚学C++的时候,在单链表上所做的尝试,记得那个惨不忍睹的赋值函数是这样写的:
template <class Temp>
LinkList<Temp> & LinkList<Temp>::operator=(LinkList<Temp> &List)
{
DestoryList();
LinkNode<Temp> *p = List.Head;
LinkNode<Temp> *h = Head;
while (p != NULL)
{
LinkNode<Temp> *t = new LinkNode<Temp>;
if(t==NULL)
{
cerr << "error !" << endl;
exit(1);
}
h