Member offsets in multiple inheritance
pieniek
edek.pienkowski@gmail.com
Thu May 26 17:52:00 GMT 2011
Hello,
I have always though, that given a pointer to an object, members are at
(this) + (member-offset). But this cannot be true for multiple
inheritance, no?
Example:
struct A {
int x,y;
}
struct B {
int a, b, c;
}
struct C : public A, public B {}
int func (B* b, B* actuallyCinstance) {
return b->b + actuallyCinstance->b;
}
How is the B::b member accessed, especially b->b when b is B? What is
the cost of that (x86_64)?
Thanks,
Edek
More information about the Gcc-help
mailing list