gpt4 book ai didi

c# - 使用 C# 指针

转载 作者:可可西里 更新时间:2023-11-01 08:43:54 25 4
gpt4 key购买 nike

C# 如何使用指针?如果 C# 是一种托管语言并且垃圾收集器在防止内存泄漏和正确释放内存方面做得很好,那么在 c# 中使用指针有什么效果以及如何“不安全“是吗?”

最佳答案

要使用指针,您必须允许不安全代码,并将使用指针的方法标记为不安全。然后您必须修复内存中的所有指针以确保垃圾收集器不会移动它们:

byte[] buffer = new byte[256];

// fixed ensures the buffer won't be moved and so make your pointers invalid
fixed (byte* ptrBuf = buffer) {
// ...
}

这是不安全的,因为从理论上讲,您可以获取一个指针,遍历整个地址空间,并破坏或更改内部 CLR 数据结构,例如更改方法实现。您不能在托管代码中执行此操作。

关于c# - 使用 C# 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4316639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com