我正在爲C++編寫Python的擴展模塊,我使用boost.python。我想公開一個返回vector<MyClass>
的函數。我不確定如何做到這一點,以及它如何與Python WRT內存管理進行交互。boost.python公開返回向量的函數<MyClass>
我的第一個想法是將MyClass
換成shared_ptr
,因此函數將返回vector<shared_ptr<MyClass>>
。這會有幫助嗎?當shared_ptr<MyClass>
實例到達Python土地時會發生什麼?他們會被釋放嗎?
所以我的問題是:我怎樣才能公開一個函數返回vector
MyClass
實例Python沒有泄漏內存?
謝謝。