簡體   English   中英

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

[英]Python - how to check if weak reference is still available

我正在將一些弱引用從Python傳遞到C ++類中,但是當真實對象已經死亡時,C ++析構函數正在積極嘗試訪問ref,顯然它崩潰了...

是否有任何Python C / API方法可確定Python參考是否仍然有效,或者是否有其他已知的解決方法?

謝謝

Python C API文檔中:

PyObject * PyWeakref_GetObject(PyObject * ref)
返回值:借用的參考。
從弱引用ref返回引用的對象。 如果引用對象不再有效,則返回無。 2.2版中的新功能。

如果在弱引用上調用PyWeakref_GetObject,則它應該返回Py_None或NULL,我忘記了。 但是,您應該檢查它是否返回其中之一,這將告訴您所引用的對象不再有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM