【发布时间】:2014-03-06 22:28:28
【问题描述】:
在 Boost::Python 中是否有一个函数可以让您获得 boost::python::object 的哈希值,也就是相当于 Python 的 hash 函数?我一直在阅读文档,但似乎没有提及任何内容。
【问题讨论】:
标签: python c++ boost hash boost-python
在 Boost::Python 中是否有一个函数可以让您获得 boost::python::object 的哈希值,也就是相当于 Python 的 hash 函数?我一直在阅读文档,但似乎没有提及任何内容。
【问题讨论】:
标签: python c++ boost hash boost-python
hash 在 python 中是用 C 端的 PyObject_Hash 实现的。如果你有一个随机对象obj,你可以简单地调用:
long hash = PyObject_Hash(obj.ptr())
boost::python::object 上的 ptr() 方法返回一个具有对该对象的借用引用的 PyObject *。
一般来说,CPython API 中有很多东西没有被 boost::python 包裹。直接调用就很简单了。
【讨论】: