Boost logo

Boost :

From: Marco Servetto (marco.servetto_at_[hidden])
Date: 2007-09-22 01:38:39


Hello,
Supposing having
struct A{
  int a1;
  double a2;
  int a3[3];
  };
struct B{
  int b1;
  double b2;
  int b3[3];
  };

A and B are two structure with same strucutural type but different
name, (and different name for fields...)

The question is: C++ grants that
A a;
a.a2=8.8;
assert(reinterpret_cast<B*>(&a)->b2==8.8);

If the response is yes,
it is even true for classes with inheritance?
that is A1,B1,C1 have same struttural type of A2,B2,C2 and
class A1 :public B1, class B1: public C1
and
class A2 :public B2, class B2: public C2
can i safaly reinterpreter cast from A1 to A2 and acceding public
fields (of A1,B1,C1)
trought the field names of A2?

Thanks in advance for your help.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk