On 06/23/2009 02:59 PM, Simon Pickles wrote:
When I use code which parallels this structure, I see the Model
destructor is called when the c++ object goes out of scope (fine)
despite the object being passed to python as the argument of a
function (not fine!)
That is because by default arguments are passed by-value. If you want
something else, you need to specify a return-value policy, such as
manage_new_object.
Is there a return policy I need to provide? I am confused by the way
the destructing class is new'ed in c++ code, not in python by using
exposed c++.
boost.python wants to pass a Model, and thus makes a copy. from the
object you pass back, then destructs it.
Regards,
Stefan
--
...ich hab' noch einen Koffer in Berlin...
_______________________________________________
Cplusplus-sig mailing list
[email protected]
http://mail.python.org/mailman/listinfo/cplusplus-sig