什么是装箱,拆箱?

2022-01-21 233 0

装箱:将值类型变成引用类型,对值类型在堆中分配一个对象实例,并将该值赋值到一个新的对象中。

第一步:新分配托管堆,内存大小为值类型大小加上一个方法表指针;

第二步:将值类型的实例字段拷贝到新分配的内存堆中;

第三步:返回托管堆中新对象的地址,这个地址就是指向对象的引用。

拆箱:将引用类型变成值类型,装箱不需要显示的类型转换,拆箱需要。

相关文章

简述 private、 protected、 public、internal 修饰符的访问权限
new和malloc的区别
堆和栈的区别?
构造函数为什么一般不定义为虚函数?而析构函数一般写成虚函数的原因 ?
什么情况下会调用拷贝构造函数?
介绍下抽象类、接口类、聚合类?

发布评论