[英]How to pass arguments by reference when call python in c++ with pybind11
我正在使用PyBind11運行 Python 解釋器,我需要使用一些指針參數在 c++ 中調用 Python 函數。
根據 pybind11 的文檔,看起來傳遞給 Python 端的參數應該由 Python 解釋器正常釋放,而不是由 c++ 主程序釋放。 但是這一次參數是一個指向靜態對象的指針,它不應該被任何人釋放。 如何編寫這樣的綁定/調用?
我知道pybind11::return_value_policy::reference
可用於防止返回結果被釋放,但它是用於返回對象,而不是用於參數。
任何提示將不勝感激!
您可以在嵌入式模塊中定義 python 包裝器,並從 python 代碼中訪問它。 然后可以在定義 getter 時指定適當的返回值策略。
然后直接從 python 代碼調用 getter,或者,如果您仍想將其作為參數傳遞,請單獨調用 getter 並將結果存儲為py::object
,您可以將其作為參數傳遞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.