MS
Size: a a a
MS
IK
f
AT
x(rand() > 0.5 ? new Foo() : new Bar() )
A *ptr;
if (rand() > 0.5) {
Foo *tmp = new Foo();
ptr = (A *)( (char *)tmp + A_offset_in_Foo );
} else {
Bar *tmp = new Bar();
ptr = (A *)( (char *)tmp + A_offset_in_Bar );
}
x(ptr);
IK
IK
f
f
c
A *ptr;
if (rand() > 0.5) {
Foo *tmp = new Foo();
ptr = (A *)( (char *)tmp + A_offset_in_Foo );
} else {
Bar *tmp = new Bar();
ptr = (A *)( (char *)tmp + A_offset_in_Bar );
}
x(ptr);
x(A + B g)f
IK
AT
x(A + B g)IK
c
x(A g1, B g2)
f
AT
x(A g1, B g2)
x(A tblA, B tblB, SomeStruct g).f
c
AT
AT