bug备忘

今儿搞定了俩bug,系统能正常通过test suite了,备忘一下。
1. 拷贝构造器漏拷了某field
这个的确很弱智…… 但是拷贝构造器在每次增减field的时候都要手动改,这个真麻烦……
就不能提供一个只要我没动的都自动拷一遍的拷贝构造器么……

2. 拷贝构造器中,成员变量中的父指针没有指向新对象
简单来说,就是

class A;
class B {
  A *parent;
};
class A {
  B b;
}

A在拷贝的时候,应该吧b这个成员的parent指针指向新的A……

A::A(const A& other)
: b(other.b) ...
{
 ...
  b.setParent(this);
 ...
}

不过实际上好像父指针不是一个好的模式?但是不用这个用啥呢…… 或者就注意点吧……

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.