这是要破了吗?它编译得很好,但根据读数,我不确定它是否保证 _ptRef 将始终指向构造函数中引用的结构。
我猜“break”是指……GC会移动指针(_ptRef)指向的结构吗?
public unsafe class CPointType0
{
private PointType0* _ptRef = null;
public CPointType0(ref PointType0 spt)
{
fixed (PointType0 * pt = &spt)
{
_ptRef = pt;
}
}
...a bunch of property accessors to fields of _ptRef (accessed as return _ptRef->Thing) }
场景是
-PointType0 是一个结构。
- 数百万个 PointType0 在内存中的数据结构中。这些曾经是引用类型,但内存开销太大。
- 只有当搜索操作找到相关的PointType0时才返回一个List,并且这个List被传来传去,被操作了很多。