Python - 如何检查弱引用是否仍然可用

Ale*_*lex 5 c++ python reference weak

我将一些来自Python的弱化函数传递给C++类,但是当真实对象已经死亡时,C++析构函数正在积极地尝试访问ref,显然它崩溃了......

是否有任何Python C/API方法可以找出Python引用是否仍然存在或者其他任何已知的解决方法?

谢谢

cec*_*rik 3

如果你在弱引用上调用 PyWeakref_GetObject 它应该返回 Py_None 或 NULL,我忘记了。但是您应该检查它是否返回其中之一,这将告诉您引用的对象不再存在。