Я пишу модуль расширения для Python на C ++ и использую boost.python.Я хочу выставить функцию, которая возвращает vector<MyClass>
.Я не совсем уверен, как это сделать и как это будет взаимодействовать с управлением памятью Python WRT.
Моей первой мыслью было обернуть MyClass
в shared_ptr
, поэтому функция вернет vector<shared_ptr<MyClass>>
.Это поможет?Что происходит, когда shared_ptr<MyClass>
экземпляров попадают на землю Python?Будут ли они когда-нибудь освобождены?
Итак, мой вопрос: как я могу представить функцию, которая возвращает vector
из MyClass
экземпляров в Python без утечки памяти?
Спасибо.