问题描述
|
请问有人可以告诉我如何在这种类型的不安全代码示例中将null分配给指针...
public struct Chunck
{
unsafe
public tag *start;
unsafe
public tag *end;
}
class HeapManager
{
public int HeapMemorySize = 1000;
public int sizeAllcated = 0;
unsafe
Chunck *Header;
HeapManager()
{
unsafe
{// this is not happening as compare to C langauge its allowed ??
Header =(Chunck*) NULL;
}
}
}
解决方法
它再简单不过了
Header = null;
, 只是不要打扰。与C运行时不同,CLR承诺在创建类时将其所有字段归零初始化。这会自动使Header成员为null。
请不要用C#编写堆管理器。