
I looked into the Standard and it says there [3.8.6]:
<quote> Similarly, before the lifetime of an object has started but after the storage which the object will occupy has been allocated or, after the
Hartmut Kaiser wrote: lifetime of an
object has ended and before the storage which the object occupied is
reused
or released, any lvalue which refers to the original object may be used but only in limited ways. Such an lvalue refers to allocated storage (3.7.4.2), and using the properties of the lvalue which do not depend on its value is well-defined. </quote>
Quoting a bit further:
<quote> ... if the original object will be or was of a non-POD class type, the program has undefined behavior if:
- the lvalue is used to access a non-static data member or call a non-static member function of the object, ... </quote>
Point taken, I changed the code not to invoke any member functions anymore. Thanks! Regards Hartmut ------------------- Meet me at BoostCon http://boostcon.com