垃圾收集在内存中移动引用的对象会破坏 Unreal4 引擎中的引用吗?

Garbage Collection moving referenced Object in memory breaking the reference in Unreal4 Engine?

假设我们有这两个 类:

UCLASS()
class SOME_API ClassA: public UObject
{
public:
  GENERATED_UCLASS_BODY()

};
class ClassB
{
  ClassA& refA;
};

Unreal 中的 UObjects 是垃圾收集器。我是否正确地假设,如果 refA 引用的 ClassA 对象被 GC 在内存中移动,refA 将不会更新,并且突然会引用无效内存?有谁知道Unreal Eninge 4 中的GC 是否可以处理这种情况?

GC 不会随机移动 ClassA,但如果它的 UProperty 引用计数达到 0,则 refA 将成为悬空引用。如果你想从非 UObject 弱引用 UObject 那么你可以使用 TWeakObjectPtr.