2011年9月3日

取得类成员的偏移量

摘要: 提出问题给定一个类:struct A{ int a0; int a1; int a3;};如何取得各成员相对于类地址的偏移量?解决问题一种方法如下:#define MEMOFFSET1(Class, Member) (reinterpret_cast<char*>(&static_cast<Class*>(0)->Member) - reinterpret_cast<char*>(0))首先强制类型转换成为char*指针,保证计数是以字节为单位,然后指针做减法,得到整形,由于是用空指针做类型转换,因此后面的减数指针的值为0另一个等效的方式是:# 阅读全文

posted @ 2011-09-03 17:12 Observer 阅读(699) 评论(0) 推荐(0) 编辑

导航