现在的位置: 首页 > 综合 > 正文

new操作符

2012年10月09日 ⁄ 综合 ⁄ 共 355字 ⁄ 字号 评论关闭
new操作符所做的事情:
1.它计算类型及其所有基类型(最高到System.Object,虽然它没有定义自己的实例字段)中定义的所有实例字

段需要的字节数。堆上的每个对象都需要一些额外的成员——称为“类型对象指针(type object pointer)

”和“同步块索引(sync block index)”,这些成员将由CLR用来管理对象。这些额外的成员的字节数会加

到对象大小上。
2.它从托管堆中分配指定类型所需的字节数,从而分配对象的内存,分配的所有字节都设为零(0)。
3.它初始化对象的“类型对象指针”和“同步块索引”成员。
4.调用类型的实例构造器,向其传入在new调用中指定的任何实参。

new执行了所有这些操作之后,会返回对新创建的对象一个引用(或者指针)。

摘自:框架设计(第2版):CLR Via C#     p80

抱歉!评论已关闭.