摘要: 最近才知道struct和class的静态构造函数的触发规则是不同的,不像class在第一次使用类的时候触发静态构造函数。如果只访问struct实例的字段是不会触发静态构造函数调用的。通过测试发现当访问静态字段,struct本身的函数(静态和实例)和带参数的构造函数就会引起静态构造函数的执行。而调用默认构造和未覆写的基类虚函数是不会的。为什么呢? 让我们先来看看class和struct在调用构造函数时的区别。class使用newobj指令而struct使用initobj指令来构造对象。newobj在堆上申请一块内存并调用相应的构造函数进行初始化,然后将对象地址返回给计算栈。initobj则是从本 阅读全文
posted @ 2012-04-10 14:33 Tammie-锴 阅读(251) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/mqsuper/archive/2008/08/12/1265520.htmlhttp://blog.csdn.net/fuadam/article/details/2766616 阅读全文
posted @ 2012-04-10 14:16 Tammie-锴 阅读(127) 评论(0) 推荐(0) 编辑