读书人

这个class占几多内存。

发布时间: 2013-04-09 16:45:09 作者: rapoo

这个class占多少内存。。。


public class MyClass
{
byte b1;
byte b2;
byte b3;
byte b4;
Point p1;
Point p2;
Point p3;
Point p4;
}
public struct Point
{
byte x;
byte y;
byte z;
}

[解决办法]
取决于对齐方式。
数据本身最少16字节。

如果是类(class),每个实例还有另外8个字节(引用块和同步块)的额外开销。
[解决办法]
不会,学习,帮你顶顶
[解决办法]
引用:
引用:

取决于对齐方式。
数据本身最少16字节。

如果是类(class),每个实例还有另外8个字节(引用块和同步块)的额外开销。

那单单那个point是多少呢?12还是4?
还是那个问题,取决于你是怎么对齐的.
[解决办法]
lz搜索一下StructLayout、FieldOffset吧,讲的比较清楚。

引用:
引用:
.......
还是那个问题,取决于你是怎么对齐的.

point默认是按声明顺序布局,3个字段都是byte类型,都不够4byte大小。我迷惑的是CLR怎么对齐这三个字段,是没一个单独加3个byte对齐还是先把这3个字段和一块再加一个byte对齐呢?

[解决办法]
我是觉得,占用多少内存,有很大关系么??还是抓紧把程序编好才是正经

读书人网 >C#

热点推荐