技术开发 频道

浅析C#类内存分配时间及实例测试

  【IT168 技术】一直以为内存分配是在调用构造函数的时候。现在发现我错了。

  昨天在看C++的赋值运算时,想做一下笔记。一个类赋值给另一个类时,先调用构造函数,在给成员变量一个个赋值,静态成员变量不用赋值,因为静态成员变量属于类,被类的所有实例共享,所以不用被赋值,方法属于类,不用被赋值,也赋不了值。

  突然想到调用静态的属性或方法时不需要调用构造函数,因为调用构造函数只是产生一个新的实例,静态的属性或方法属于类吗,调用它们根本不用产生实例,我突然想尖叫,不调用构造函数,怎么分配内存,不分配内存类的属性存哪里,连内存都没有怎么访问它。

  所以我猜测内存在调用构造函数之前就分配好了,构造函数只是做一些初始化工作。

  下面是我的测试:

浅析C#类内存分配时间及实例测试

0
相关文章