类通过Owner
拥有多个类对象。我希望对象存储对拥有它们的对象的引用(不是指针) ,具有以下要求:Item
unique_ptr
Item
Owner
永远不可能有一个悬空的参考。
itm
类对象中包含的引用Item
永远不会指向Owner
不拥有的对象itm
。一个
Item
对象总是有一个所有者。Item
类将通过其子类使用。
我尝试Item
在构造过程中自动注册类的对象(in Item::Item()
),但是当它们在堆栈上创建时会导致双重删除。因此,我可能需要防止在堆栈上创建它们。但是当我对它们进行子类化时,这是一个问题。有没有更简单的方法来确保相互链接始终正确,而不放宽任何要求?我怀疑 3. 可能必须放宽,以便首先创建对象并在Owner
后面注册它。