[C++-sig] alternative smart pointer (intrusive_ptr) example

David Abrahams dave at boostpro.com
Tue Jul 29 01:23:44 CEST 2008

on Mon Jul 28 2008, Jeff Webb <jeff.webb-AT-nta-inc.net> wrote:

> Jeff Webb wrote:
>> (1) There is an object identity problem (i.e. 'r.ref is v' is
>> False).  This means that there are two python wrappers for a single
>> C++ object.  In some cases this is okay, but it is not ideal.
> In order to solve the object identity problem mentioned above, I needed some method of storing the PyObject pointer that is wrapping a given Pointee object and a way of looking it up.  There are two methods that I have tried:
> (1) storing the PyObject pointer in the Pointee object itself


> (2) using a global dictionary to store the Pointee->PyObject mappings

Isn't this going to incur comparable memory use to shared_ptr?

Dave Abrahams
BoostPro Computing

More information about the Cplusplus-sig mailing list