例如
struct A
{
void foo() {};
};
struct B
{
B() {}
void setA(A* a) { mA = a; }
foo() { mA->foo(); }
A *mA;
};
内有一个A关联的(只是一个地址)B。而且B::mA绝不能null。我通常会忘记setA并引入错误。有什么好的做法可以避免呢?那么setA如下呢?
void B::setA(A& a) { mA = &a; }