Making C++ Objects Persistent: The Hidden Pointers

01 December 1993

New Image

C++ objects of type that have virtual functions or virtual base classes contain volatile ("memory") pointers. We call such pointers "hidden pointers" because they were not specified by the user. If such C++ objects are made persistent, then these pointers become invalid across program invocations. We encountered this problem in our implementation of O++, which is a database language based on C++. O++ extends C++ with the ability to create and access persistent objects.