I don't know whether C++ does the same (there is the issue of where it sticks the vtable, and I'm not sure what else).
I imagine there will be no problem, since we've been compiling the PETSc C code with C++ compilers for a decade now,
but I don't know whether the C++ standard guarantees that.

Reading the wiki on C++0x, it seems that it is guaranteed following some guidelines:

http://en.wikipedia.org/wiki/C%2B%2B0x#Modification_to_the_definition_of_plain_old_data
 
Jed is the only person I know that actually reads the standard (or maybe it's part of the ABI).

Heh, yeah. Jed will have to verify about the guidelines and what-not for sure.

Sean