C# 不安全指针字段
本文关键字:字段 指针 不安全 | 更新日期: 2023-09-27 18:35:21
这会打破吗?它编译得很好,但基于读数,我不确定它是否保证_ptRef将始终指向构造函数中引用的结构。
我想我所说的"休息"是指...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,并且此列表会传递并操作很多。
这不安全。
代码离开fixed
块后,垃圾回收器可以再次自由移动内容。你想在这里完成什么?是否要使用列表中项的索引,而不是指针?