Python:获取对包装的C++;对象 我用BooSt.Python包了C++类。这些对象在C++端具有强引用(boost::shared_ptr),Python中也可能存在间歇性强引用。到目前为止,一切进展顺利。但是,如果我从其中一个强引用创建了一个python弱引用,那么一旦最后一个python强引用消失,这个弱引用就会被删除。我希望弱引用保持生存,直到C++上最后一个强引用消失。有可能做到这一点吗 < P> >另一种方式:如果Pothon中存在一个特定的C++对象(由Booj.Python包装)仍然存在,那么有没有办法从中找到? < P>你如何对包裹类保存“C++强引用”?< /P>

Python:获取对包装的C++;对象 我用BooSt.Python包了C++类。这些对象在C++端具有强引用(boost::shared_ptr),Python中也可能存在间歇性强引用。到目前为止,一切进展顺利。但是,如果我从其中一个强引用创建了一个python弱引用,那么一旦最后一个python强引用消失,这个弱引用就会被删除。我希望弱引用保持生存,直到C++上最后一个强引用消失。有可能做到这一点吗 < P> >另一种方式:如果Pothon中存在一个特定的C++对象(由Booj.Python包装)仍然存在,那么有没有办法从中找到? < P>你如何对包裹类保存“C++强引用”?< /P>,c++,python,boost-python,C++,Python,Boost Python,我对boost python非常生疏,但我相信boost::shared_ptr的deleter存在确保了生命周期管理 如果不是问题,您可能需要在Cux::Python::Obj.< /P>中保持C++中的实例,正如您所怀疑的,我在Boosi::SyrdypTR中持有强引用。我已经澄清了这个问题。你能详细说明一下第二段吗?我似乎无法与这个问题联系起来——对不起。

我对boost python非常生疏,但我相信boost::shared_ptr的deleter存在确保了生命周期管理


如果不是问题,您可能需要在Cux::Python::Obj.< /P>中保持C++中的实例,正如您所怀疑的,我在Boosi::SyrdypTR中持有强引用。我已经澄清了这个问题。你能详细说明一下第二段吗?我似乎无法与这个问题联系起来——对不起。