When you write a C++ object, and read it back in, the classtype/vtables/method pointers could be overwritten. The C++ standard doesn't guarantee that they won't be, and for some kinds of objects and some compilers, they actually will be.
That's the point.
Someone better tell Oracle, Sun, Microsoft, and GNU. All of these groups produce applications with non-portable data files. Supporting portable data files is exceptionally difficult, and it's usually easier (if the data is necessary) to simply write a convertion tool.