4
我有一些C++代码,可提供事件Python对象跟踪一个对象的CPython的寿命。观察家们不停地为weak_ptr
S,所以他们没有注销。从C扩展
这适用于C++,但桥接弱指针和Python弱引用很麻烦(我还希望Python事件处理程序不会因订阅而保持活动状态,与C++代码中相同)。为了有一个活观察者,一些需要有一个共享指针到它,而该对象是活的,所以它归结为具有在Python土地控制观察者一个C++对象观察者的寿命。
到目前为止,我所提出的方法涉及大量的样板和中间对象(例如为一个类型创建另一个PyTypeObject,该类型保留一个C++观察者和一个对Python观察者的弱引用并将其设置为成员Python的观察者,这样它就会死亡)。
的问题是,是否有任何明显的方式做到这一点?