私は現在、boost::python::call
関数を持つPythonコールバック関数へのC++ポインタを渡しています。これは正常に動作しますが、C++コードでポインタを削除しないと、メモリリークが発生します。boost :: pythonはオブジェクトの所有権をpythonコールバック関数に渡すことができますか?
私はコールバックにポインタを渡し、Pythonのガベージコレクタにオブジェクトの有効期間を処理させたいと思います。今、コールバックに渡されたオブジェクトを保存したい場合は、詳細コピーを行う必要があります。
私はこの種のものはreturn_value_policy<manage_new_object>
で包まれたC++関数の戻り値を持つことが可能であることがhereを見てきました。 boost::python::call
の引数と同様のことをすることは可能ですか?