0
新しいクラスインスタンス(C++クラスを継承するpythonクラス)をオブジェクトの戻り値を保持してC++ポインタとして扱うことなく、C++に転送する方法はありますか。例えばPythonオブジェクトのスコープがC++で終了する
:
C++
object pyInstance = GetLocalDict()["makeNewGamePlay"]();
CGEPYGameMode* m_pGameMode = extract< CGEPYGameMode* >(pyInstance);
pyth:
class Alpha(CGEPYGameMode):
def someFunct(self):
pass
def makeNewGamePlay():
return Alpha()
pyInstanceはPythonのクラスのインスタンスであり、m_pGameModeが同じインスタンスのC++基底クラスへのポインタです。しかし、私はポインタを格納し、オブジェクトがスコープの外に出るようにすると、Pythonオブジェクトがクリーンアップされます。オブジェクトがクリーンアップされているだけでC++ポインタを持つ方法はありますか?
さらに詳しい情報:python object to native c++ pointer
ありがとうございます。 :P – Lodle