【发布时间】:2018-04-27 18:18:08
【问题描述】:
我想拥有以下功能:
var item0 = new Item();
var item1 = item0;
item0 = null;
Console.WriteLine(item1 == null); // true
所以我会覆盖 item0 和 item1 指向的内存。 我想也许我可以用指针来做到这一点..?但是,当我尝试声明一个项目指针时:
Item* itemPointer;
我遇到了一个错误。有什么想法吗?
【问题讨论】:
-
我不知道您建议的语法适用于哪种语言 - 如果这样做会引入很多难以发现的错误
-
您可以使用 Marshaling 释放指针,但如果该指针在其他地方拥有,您很可能会遭受可怕的死亡。 I guess you could check this for a start
-
我很好奇为什么你想这样做?以这种方式直接修改内存(并放弃运行时提供的所有安全性)的目的是什么?
-
@UnholySheep:我猜他不想在内存中留下任何垃圾。
-
我完全同意@UnholySheep,但在我看来他只是想制作该项目的新副本而不是克隆。
标签: c#