我想使用初始化器列表进行对象初始化以简化对象管理,但问题是对象相互引用。
//B::B(A &a) //The only available constructor for B
class AB
{
A m_a;
B m_b;
AB()
: m_a()
, m_b(m_a)
...
};
这是标准允许的吗?据我了解,应该是,鉴于类中的成员声明是 A,然后是 B,初始化列表中的顺序无关紧要,因为它们将由它们在类中的物理顺序进行初始化。