包含内部引用的初始值设定项列表
Initializer lists with internal references
我想使用初始值设定项列表进行对象初始化以简化对象管理,但问题是对象相互引用。
//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,初始化列表中的顺序无关紧要,因为它们将由它们在类中的物理顺序初始化。
是的这是标准允许的吗?据我了解,应该是,假设类中的成员声明是 A,然后是 B,初始化列表中的顺序无关紧要,因为它们将由它们在类中的物理顺序初始化。
,初始化的顺序是类中成员属性的声明顺序。 此外,根据构造函数B
做什么,只要存储引用或指针,将引用传递给尚未初始化的对象是正确的(尽管靠近边缘), 但对象未使用。
相关文章:
- 传递空初始值设定项列表时使用右值和左值引用候选项的重载解析
- 列表 iter 不取消引用 使用列表进行插入排序
- C++-将具有引用的长参数列表重构为结构
- lamda 中的不同类型,在捕获列表中引用
- 将新元素添加到列表中,并返回对该元素的引用?
- 对"列表"的引用不明确,包括头文件
- C++不能取消引用结束列表迭代器
- 是否允许使用初始值设定项列表将const数组引用实例化为构造函数参数
- 与引用一起使用的列表,在用作成员时更改行为
- 通过初始化列表设置抽象类的引用
- 复制构造函数初始化初始化列表中的引用成员会导致指针悬空
- 在形式参数列表中自动使用 const 和按引用传递的任何明显后果
- 在成员初始化列表中,我可以创建对列表中不在列表中的成员变量的引用
- 在此C++代码中,迭代器引用列表的哪个元素?
- 对列表迭代器指向的对象不起作用的引用
- const_iterator引用的指针列表
- 将链接列表复制到linkedlist的引用
- 使用双迭代器引用映射中的列表
- 按名称存储和引用变量列表
- 初始值设定项列表引用类型安全