, , . , .
offset = (unsigned char*)&(this->z) - (unsigned char*)this;
#include <iostream>
class C
{
public:
int x;
char y;
int z;
size_t offset() const
{
return (unsigned char*)&(this->z) - (unsigned char*)this;
}
};
int main()
{
C c;
std::cerr << "Offset(cast): " << c.offset() << "\n";
}