读书人

C++ 失去成员变量的偏移值

发布时间: 2013-03-26 09:54:34 作者: rapoo

C++ 得到成员变量的偏移值

#include <iostream>#define GET(A,m) (int)(&((A*)0)->m);using namespace std;struct A{int a;//4char b[3];//4int d;//4int c;};int main(int argc, char *argv[]){//-------------------------------- // ss *s=(ss*)0;// int * w=&(s->c);// cout<<w;//---------------------------- //原理与以上注释相符 cout<<GET(A,c);//得到偏移值,就是0地址的转换技巧罢了 //宏的替换规则 // cout<<(int)(&((A*)0)->c);return 0;}
希望能帮到大家

读书人网 >C++

热点推荐