
Hi Robert, Robert Ramey ha escrito:
"JOAQUIN LOPEZ MU?Z" <joaquin@tid.es> wrote in message news:2096fa209c83.209c832096fa@tid.es...
If in the meantime you do the check yourself please tell me what you come up with.
Attached please find an updated version of test_list_ptrs.cpp which illustrates my point. A couple of notes:
a) elminate the BOOST_SERIALIZATION_IMPLEMENT - its part of the next version. b) free_a_ptr is setup to be a copy of the first element of the list of pointers.
This does not reflect the situation I'm talking about. The problem shows when the pointer points to an element of the container. Here, free_a_ptr is merely a copy of the container element (i.e. both pointers point to an external object.) Please compile and run the attached sample. You'll agree with me that the expected output of the program is cont.begin(): 1 pos points to: 1 cont.begin(): 1 pos points to: 1 Yet, in my MSVC++ 6.0 compiler I get the following: cont.begin(): 1 pos points to: 1 cont.begin(): 1 pos points to: 1243388 illustrating that the pointer is not correctly deserialized.
Note that this example doesn't address this issue of what happens if the collection consisted of primitives (or string) which are not tracked by default. That question is separate from the current issue.
Yes, that's a different issue. Joaquín M López Muñoz Telefónica, Investigación y Desarrollo