#include<iostream>
#define OffSet(type,field) ((size_t)&(((type *)0)->field))
using namespace std;
class Mystr
{
public:
char a;
int b;
float c;
double d;
char e;
};
int main()
{
Mystr * str;
str=NULL;
printf("%d\n",str->a);
printf("%d\n",OffSet(Mystr,a));
printf("%d\n",OffSet(Mystr,b));
printf("%d\n",OffSet(Mystr,c));
printf("%d\n",OffSet(Mystr,d));
printf("%d\n",OffSet(Mystr,e));
system("pause");
return 0;
}
#define OffSet(type,field) ((size_t)&(((type *)0)->field))
using namespace std;
class Mystr
{
public:
char a;
int b;
float c;
double d;
char e;
};
int main()
{
Mystr * str;
str=NULL;
printf("%d\n",str->a);
printf("%d\n",OffSet(Mystr,a));
printf("%d\n",OffSet(Mystr,b));
printf("%d\n",OffSet(Mystr,c));
printf("%d\n",OffSet(Mystr,d));
printf("%d\n",OffSet(Mystr,e));
system("pause");
return 0;
}