提振.Python:掌握论点

Boost.Python: Take possession of argument

本文关键字:掌握 Python 提振      更新时间:2023-10-16

如果我有一个函数占有其中一个参数,当我使用Boost.Python公开该函数时,我应该使用任何调用策略吗?

void func(MyClass* obj)
{
    // Code that takes possession of `obj`
}

我想你可以用boost::weak_ptr

using boost::shared_ptr;
using boost::weak_ptr;
func (weak_ptr<MyClass> wp)
{
  shared_ptr<MyClass> sp = wp.lock ();
  if (sp)
    // sp stays alive until it goes out of scope or is reset
}

基本上,这是boost::weak_ptr文档中提供的示例。