Boost.Python中的None
我正在尝试把下面的代码
d = {}
d[0] = None
转换成使用boost.python的C++代码。
boost::python::dict d;
d[0] = ?None
我该如何在boost.python中获取一个None对象呢?
2 个回答
3
你可以使用:
d[0] = d.get(0)
d.get
如果你没有指定默认值,它会默认返回 None
。
27
没有一个构造函数可以直接接受一个 PyObject*
类型的参数(根据我的理解,如果有这样的构造函数,那就完全违背了将Python类型映射到C++类型的想法,因为 PyObject*
可以是任何东西)。根据文档:
object();
效果:构造一个对象,用来管理对Python中的
None
对象的引用。