【问题标题】:Boost Python Hash提升 Python 哈希
【发布时间】:2014-03-06 22:28:28
【问题描述】:

在 Boost::Python 中是否有一个函数可以让您获得 boost::python::object 的哈希值,也就是相当于 Python 的 hash 函数?我一直在阅读文档,但似乎没有提及任何内容。

【问题讨论】:

标签: python c++ boost hash boost-python


【解决方案1】:

hash 在 python 中是用 C 端的 PyObject_Hash 实现的。如果你有一个随机对象obj,你可以简单地调用:

long hash = PyObject_Hash(obj.ptr())

boost::python::object 上的 ptr() 方法返回一个具有对该对象的借用引用的 PyObject *

一般来说,CPython API 中有很多东西没有被 boost::python 包裹。直接调用就很简单了。

【讨论】:

  • 我使用过 C API,但我希望我不必经历那些水域......哦,好吧。
  • 真的还不错。在这种情况下几乎没有缺点。
猜你喜欢
  • 1970-01-01
  • 2012-02-19
  • 2011-04-26
  • 2013-09-04
  • 2010-10-13
  • 2016-03-20
  • 2020-01-27
  • 1970-01-01
  • 2011-05-27
相关资源
最近更新 更多