Есть ли способ передать новый экземпляр класса (класс python, который наследует класс С++) в С++ без необходимости удерживать возврат объекта и просто рассматривать его как указатель С++.
Например:
C++
object pyInstance = GetLocalDict()["makeNewGamePlay"]();
CGEPYGameMode* m_pGameMode = extract< CGEPYGameMode* >( pyInstance );
пиф:
class Alpha(CGEPYGameMode):
def someFunct(self):
pass
def makeNewGamePlay():
return Alpha()
pyInstance — это экземпляр класса Python, а m_pGameMode — указатель на базовый класс C++ того же экземпляра. Однако, если я сохраню указатель и позволю объекту выйти из области видимости, объект python будет очищен. Есть ли способ получить только указатель С++ без очистки объекта?
Дополнительная информация: объект python на собственный указатель c++