Robert,
However, in your example, the static object isn't a pointer - its a static integer. Given that default behavior for primitive types (including integers) is not tracked, multiple copies of j will be stored/loaded.
How can I ensure, in the example I give, that the primitive static members will be stored/loaded only once? I see how to control the tracking behavior of classes. http://www.boost.org/libs/serialization/doc/traits.html#tracking How can I change the tracking of particular objects? Thank you for explaining that tracking means that two objects with the same address are never serialized twice. I didn't understand that from the documentation, but it's very useful. Is the performance overhead too high for me just to turn on tracking for all objects? Joseph -- http://www.cs.nyu.edu/~turian/