跟原书代码稍有差别,直接从SGI STL上Copy上来的也没有加注释
问题1 这个开始非常想不明白,后来请教了一们大虾说是考虑到覆盖我才恍然大悟,因为参数是引用类型的,很有可能会在数据移动过程中参数的值也就是__x是发现变化而使用了一个临时变量来保存这个值.
问题2 这个我一开始没想明白,后来又想了下是因为为了保正所有在vector中的对象都要调用一次自己的构造函数,因为赋值构造函数一个类并不能将他所有数据赋值给另一个类,主要是一些编绎器自己添加的值,比如虚表,所以为了保存每个对象的构造函数都被调用,为了区分这两两种情况,所以要加入判断来决定哪些要调用构造函数哪些不用再调用