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