例えば
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; }